C语言:从键盘输入一组整数,找出最大的整数,当输入的整数为0时结束,例如输入1234540时,最大的数为5.

2025-04-26 01:54:12
推荐回答(2个)
回答1:

#include
int main()
{
    char s[50],t[100];
char *ps=s,*pt=t;
gets(s);
while(*ps &&  (*pt++=*ps++));
ps--;
    while(ps>=s && (*pt++=*ps--));
*pt = '\0';
puts(t);
return 0;
}


第一题

#include
int main()
{
    int n,max=0;
scanf("%d",&n);
while(n)
{
if(max max = n%10;
n/=10;
}
printf("%d\n",max);
return 0;
}

 第二题:

#include
typedef struct stu
{
char name[20];
char sex[10];
int score;
}student;
int main()
{
    student s[10],t;
FILE *fp;
int i,j;
for(i=0;i<10;i++)
{
scanf("%s%s%d",s[i].name,s[i].sex,&s[i].score);
}
    for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(s[j].score>s[j+1].score)
{
               t = s[j];
               s[j] = s[j+1];
   s[j+1] = t;
}
}
fp = fopen("e:/cj.txt","w");
for(i=0;i<10;i++)
{
printf("%s %s %d\n",s[i].name,s[i].sex,s[i].score);
fprintf(fp,"%s %s %d\n",s[i].name,s[i].sex,s[i].score);
}
fclose(fp);
return 0;
}

回答2:

#include
int main()
{
int maxvalue=0;
int input=1;
while(input)
{
scanf("%d",&input);
if(maxvalue {
maxvalue=input;
}
}
printf("maxvalue=%d\n",maxvalue);
return 0;
}

程序2:不知道你的输入具体是什么,假设为:字符串。
#include
#include
struct student
{
char name[20];
char gender[10];
int grade;
};
int main()
{
int i=0,j=0;
student mystudent[10];
student temp;
char sname[20]={'\0'};
char sgender[10]={'\0'};
int sgrade=0;
for(i=0;i<10;i++)
{
scanf("%s%s%d",sname,sgender,&sgrade);
strcpy(mystudent[i].name,sname);
strcpy(mystudent[i].gender,sgender);
mystudent[i].grade=sgrade;
}
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(mystudent[i].grade {
temp = mystudent[i];
mystudent[i] = mystudent[j];
mystudent[j] = temp;
}
}
}
freopen("cj.txt","w",stdout);
for(i=0;i<10;i++)
{
printf("%s %s %d\n",mystudent[i].name,mystudent[i].gender,mystudent[i].grade);
}
return 0;
}