c语言问题帮忙调试程序,看看下面程序错在哪儿?

2024-12-03 13:30:21
推荐回答(3个)
回答1:

#include #include #include /* //两数比较大小 main() { int *p,*g,*t; int a,b; scanf("%d %d",&a,&b); p=&a; g=&b; //比较 if(a>b) { t=p; p=g; g=t; } printf("%d,%d",*p,*g); } main() { int *p; int a; a=2; p=&a; printf("%d %d %d %d",*p,p,&a,a); } //指针变量作为函数参数 main() { void max(int *d,int *x); int *p,*q; int a,b; scanf("%d %d",&a,&b); p=&a; q=&b; max(p,q); } void max(int *d,int *x) { int temp;//不能声明指针变量 因为指针变量必须指向地址 而temp没有 temp=*d; *d=*x; *x=temp; printf("%d %d",*d,*x); } main() { void max(int *d,int *x); int *p,*q; int a,b; scanf("%d %d",&a,&b); p=&a; q=&b; max(p,q); } void max(int *d,int *x) { int *temp;//地址对地址,变量对变量 temp=d; d=x; x=temp; printf("%d %d",*d,*x); } //字符串的遍历 main() { char a[10]; char *p; printf("请输入一个字符串:\n"); gets(a); p=a; //遍历数组 for(int i=0;i=0;f--) { printf("%d\n",a[f]); } }*/ /* main() { int n; char a[20]; printf("请输入一个数字:\n"); scanf("%d",&n); itoa(n,a,2); printf("%d的二进制的结果为:%s\n",n,a); itoa(n,a,8); printf("%d的八进制的结果为:%s\n",n,a); itoa(n,a,16); printf("%d的十六进制的结果为:%s\n",n,a); }*/ /* //将连续的空白字符压缩成一个,’ ‘,’\t’、’\n’ 都作为空格处理 main() { char a[50],b[50]; int i,j=0; printf("请输入一个数组:\n"); gets(a); for(i=0;i='a' && a[i]<='z') || (a[i]>='0' && a[i]<='9') || a[i]=='@' || a[i]=='_' || (a[i]>='A' && a[i]<='Z') || a[i]=='.') { if(a[i]!='@') { a[i]='*'; } else { continue; } } else { printf("你的格式不对,请重新输入...\n"); main(); } } for(i=0;ia[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } for(i=0;ia[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } } for(i=0;i<10;i++) printf("%4d",a[i]); } //冒泡排序 main() { int a[10],i,j,t; printf("请输入10个数字:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { for(j=0;j<10-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<10;i++) printf("%4d",a[i]); } //快速排序 void QuickSort(int e[], int first, int end) { int i=first,j=end,temp=e[first]; while(i=temp) j--; e[i]=e[j]; while(ii+1) QuickSort(e,i+1,end); } void main() { int arr[10],i; printf("请输入10个数字:\n"); for(i=0;i<10;i++) scanf("%d",&arr[i]); printf("before sort\n"); for(i=0; i<10; i++) printf("%d ", arr[i]); printf("\n"); QuickSort(arr, 0, 9); printf("after sorted\n"); for(i=0; i<10; i++) printf("%d ", arr[i]); printf("\n"); } // task3-1.c :使用一个字符数组,采用两个字符指针完成。 main() { char a[10], *p,*q; printf("请输入您的字符串:\n"); gets(a); printf("运行前:\n"); for(p=a;*p!='\0';p++) printf("%c",*p); printf("\n"); for(p=a;*p!='\0';p++) if(*p!=' ') { *q=*p; q++; } *q='\0'; printf("运行后:\n"); printf("%s",q); } //1.输入一串字符,以“?”结束,统计各字母出现的次数,并按字母出现的多少输出(先输出字母出现多的,次数相同的按照字母表顺序输出,不出现的不输出)。 main() { char a[26],b[26]={0}; int i,j; printf("输入一串字符:\n"); gets(a); for(i=0;i<26;i++) if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z')) b[a[i]-'a']++; for(j=0;j<26;j++) if(b[j]!=0) printf("%c->%d\n",(j+'a'),b[j]); } */ /* 3. 从键盘上接收一个多至9位整数、2位小数的数值,请将其转换成大写金额,即写成: ×亿×仟×佰×拾×万×仟×佰×拾×元×角×分的形式。例如:当从键盘上输入 374910.56 时,输出结果为: ×亿×仟×佰叁拾柒万肆仟玖佰壹拾零元伍角陆分或: 叁拾柒万肆仟玖佰壹拾零元伍角陆分 4.编程实现将字符串中最短的单词输出,在主函数中输入字符串,编写一个函数完成最短单词查找, 例如:输入:Happy new year 最短单词为new,输出new。 */ /* 5.用随机函数产生数据,设计二位整数的加、减、乘算式各一题(减法算式应保证被减数大于减数)。 让学生回答,由计算机给出正确与否的判断,并最后给出总得分。 得分计算方法:算对加、减法各得30分,算对乘法得40分,算错得0分。 然后由计算机输出询问信息,学生选择回答,以决定是否继续一次新的测验。 //求一个函数,输入一个字符串,例如1,5;1,12 //输入回车结束,分号为一组 一个一个接收,如何把12弄在一起,不是1和2分开的 main() { int n,a[5],i=0,num=0; printf("请输入一个整数:\n"); scanf("%d",&n); while(a[i]) { a[i]=n%10; n=n/10; num+=a[i]; i++; } for(a[i]!='\0';i>=0;i--) if(a[i]) printf("位数输出\n—>%d\n",a[i]); printf("和为:\n%d",num); } */ #include #include void leters() { char a[100]; int i; int n=0; a[0]='0'; printf("input phonenumber,end up with #\n"); while(a[n]!='#') { n++; a[n]=getchar(); if(a[n]>='A'&&a[n]<='C') a[n]='2'; if(a[n]>='D'&&a[n]<='F') a[n]='3'; if(a[n]>='G'&&a[n]<='I') a[n]='4'; if(a[n]>='J'&&a[n]<='L') a[n]='5'; if(a[n]>='M'&&a[n]<='O') a[n]='6'; if(a[n]>='P'&&a[n]<='S') a[n]='7'; if(a[n]>='T'&&a[n]<='V') a[n]='8'; if(a[n]>='W'&&a[n]<='Z') a[n]='9'; } for(i=1;i40000") printf("bonus is:%f",10000*0.1+100000.075+(20000)*0.005+(a-40000)*0.003); } void calender() { int a,b,c,i; printf("please input the days of monthly calender:"); scanf("%d",&a); printf("\n"); printf("please input this month the start of the day belongs to the week(1=sunday,2=monday,3=tuesday,4=wednesday,5=thursday,6=friday,7=saturday):"); scanf("%d",&b); for(c=0;cmax) max=b[i]; } printf("in the %d numbers,max is %d,min is %d ",n,max,min); } void main() {int i,c; for(i=0;i<=45;i++) printf("*"); printf("\n"); printf("main menu:\n1.leters digital conersion\n2.issuing bonus\n3.prints monthly calender\n4.prints daffodil\n5.searching for the value\n6.exit\n"); for(i=0;i<=45;i++) printf("*"); printf("\n"); do { printf("---please putin the option of main menue "); scanf("%d",&c); }while(c!=1&&c!=2&&c!=3&&c!=4&&c!=5); switch (c!=6) { case 1:leters(); break; case 2:bonus(); break; case 3:calender(); break; case 4:daffodil(); break; case 5:value(); break; } } 只要是自己写的 都能出来吧

回答2:

if(10000
scanf("%d",c);

这两个地方不对,其它可能还有,不会是才学吧

回答3:

#include
void leters()
{
char a[100];
int i;
int n=0;
a[0]='0';
printf("input phonenumber,end up with #\n");
while(a[n]!='#')
{
n++;
a[n]=getchar();
if(a[n]>='A'&&a[n]<='C')
a[n]='2';
if(a[n]>='D'&&a[n]<='F')
a[n]='3';
if(a[n]>='G'&&a[n]<='I')
a[n]='4';
if(a[n]>='J'&&a[n]<='L')
a[n]='5';
if(a[n]>='M'&&a[n]<='O')
a[n]='6';
if(a[n]>='P'&&a[n]<='S')
a[n]='7';
if(a[n]>='T'&&a[n]<='V')
a[n]='8';
if(a[n]>='W'&&a[n]<='Z')
a[n]='9';
}

for(i=1;i printf("%c",a[i]);
printf("\n");

}
void bonus()
{
float a;
printf(" please input profits: ");
scanf("%f",&a);
if(a<=10000)
printf("bonus is:%f",a*0.1);
if(a>10000&&a<=20000)
printf("bonus is:%f",10000*0.1+(a-10000)*0.075);
if(a>20000&&a<40000)
printf("bonus is:%f",10000*0.1+100000.075+(a-20000)*0.005);
if("a>40000")
printf("bonus is:%f",10000*0.1+100000.075+(20000)*0.005+(a-40000)*0.003);
}
void calender()
{
int a,b,c,i;
printf("please input the days of monthly calender:");
scanf("%d",&a);
printf("\n");
printf("please input this month the start of the day belongs to the week(1=sunday,2=monday,3=tuesday,4=wednesday,5=thursday,6=friday,7=saturday):");
scanf("%d",&b);
for(c=0;cprintf(" ");
for(i=1;i<=9;i++)
{
printf("%d ",i);
if((i+b-1)%7==0)
printf("\n");
}
for(i=10;i<=a;i++)
{
printf("%d ",i);
if((i+b-1)%7==0)
printf("\n");
}
printf("\n");
}
void daffodil()
{
int a,b,c,m,n;
printf("the number of daffodil is:\n");
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
{
m=a*a*a+b*b*b+c*c*c;
n=a*100+b*10+c;
if(m==n)
printf("%d ",n);
}
printf("\n");
}
void value()
{
int i,n,min=0,max=0;
int b[1]={0};
printf("input number:");
scanf("%d",&n);
printf("\n");
printf("%d numbers is\n",n);

for(i=0;i<=n-1;i++)
scanf("%d",&b[i]);
for(i=0;i{
if(b[i]min=b[i];
else if(b[i]>max)
max=b[i];
}
printf("in the %d numbers,max is %d,min is %d ",n,max,min);
}
void main()
{int i,c;
for(i=0;i<=45;i++)
printf("*");
printf("\n");
printf("main menu:\n1.leters digital conersion\n2.issuing bonus\n3.prints monthly calender\n4.prints daffodil\n5.searching for the value\n6.exit\n");
for(i=0;i<=45;i++)
printf("*");
printf("\n");

do
{
printf("---please putin the option of main menue ");
scanf("%d",&c);
}while(c!=1&&c!=2&&c!=3&&c!=4&&c!=5&&c!=6);
if(c==6)
return;
else
switch (c)
{
case 1:leters();
break;
case 2:bonus();
break;
case 3:calender();
break;
case 4:daffodil();
break;
case 5:value();
break;
}
}