数字的大小排列问题,输入10个数字输出从小到大。输入字母后会出错,求指点,谢谢啦。
#include <stdio.h>int main()
{
int a;
intj, swap;
int i=0;
for (i = 0; i < 10; i++)
{
printf("请输入100000以内的数字,第%d个数字是",i+1);
scanf("%d", &a);
if((a<='z'&&a>='a')||(a<='Z'&&a>='A'))
{printf:("要输入的是数字");
}
}
for (i = 1; i < 9; i++)
for (j = 0; j < 9-i; j++)
if (a > a)
{
swap = a;
a = a;
a = swap;
}
for (i = 0; i < 10; i++)
printf("%d ", a);
return 0;
} 本帖最后由 jackz007 于 2020-11-10 18:21 编辑
#include <stdio.h>
#include <string.h>
int main()
{
char s ;
int a, i , j , k , swap ;
for (i = 0 ; i < 10 ; i ++) {
do {
printf("请输入100000以内的数字,第%d个数字是 : " , i + 1) ;
fflush(stdout) ;
fgets(s , 256 , stdin) ;
k = sscanf(s , "%d" , & a) ;
if(! k) printf("要输入的是数字!\n\n") ;
} while(! k) ;
}
for(i = 1 ; i < 10 ; i ++) {
for(j = i ; j && a < a ; j --) {
swap = a ;
a = a ;
a = swap ;
}
}
printf("%d" , a) ;
for(i = 1 ; i < 10 ; i ++) printf("\t%d" , a) ;
printf("\n\n") ;
}
编译、运行实况:
D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
请输入100000以内的数字,第1个数字是 : 9
请输入100000以内的数字,第2个数字是 : 8
请输入100000以内的数字,第3个数字是 : 7
请输入100000以内的数字,第4个数字是 : A
要输入的是数字!
请输入100000以内的数字,第4个数字是 : 6
请输入100000以内的数字,第5个数字是 : C
要输入的是数字!
请输入100000以内的数字,第5个数字是 : 5
请输入100000以内的数字,第6个数字是 : 0
请输入100000以内的数字,第7个数字是 : 1
请输入100000以内的数字,第8个数字是 : 2
请输入100000以内的数字,第9个数字是 : 3
请输入100000以内的数字,第10个数字是 : 4
0 1 2 3 4 5 6 7 8 9
D:\0002.Exercise\C>
页:
[1]