c语言如何中断数组输入,数字数组 输入字符'q'推出程序 输入enter,停止输入

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我自己弄了个哈

#include 

#include  //atoi()関数用

#define MAX 5

int main()

{

int a[MAX];

int t=0,i,j,total=0,pow10=1,enflag=0;

char temp[15];

while(1)

{

printf("\n'q' to exit!\n");

total=0;

for(i=0;i<15;i++) //初期化

temp[i]='0';

enflag=0;

printf("\nnumber(%d):",total);

for(total=0;total

{//0

for(i=0;i<15;i++) //まず文字を入力、

{//1

temp[i]=getchar();

ifi==0) //第一个の判断

{//2

if(temp[0]=='\n') //enterだけを押すのを判断

{//3

if(total==0)

printf("Please input the number! 又は 'q' to exit!\n");

enflag=1;

break;

}//3

if((temp[0]>'9'||temp[0]

{//4

if(temp[0]=='q')//文字'q'かを判断

return 0;

else

{

printf("不正な入力!'q' to exit.\n");

break;

}

}//4

}//2

else //第一位置以降の桁を判断

{//5

if(temp[i]=='\n')//入力终わるのを判断

break;

if(temp[i]>'9'||temp[i]

{//4

printf("不正な入力!'q' to exit.\n");

break;

}//4

}//5

}//1

if(enflag==1) //enterキーだけを押すと break;

break;

a[total]=atoi(temp);//文字型から数字型へ変更とコピー

if(total!=MAX-1)

printf("number(%d):",total+1);

}//0

printf("\nbefore :");//元の数字を印刷

for(i=0;i

printf("%5d",a[i]);

for(j=0;j

for(i=0;i

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("\nafter :"); //sort後の数字を印刷

for(i=0;i

{

printf("%5d",a[i]);

}

printf("\n");

}

return 0;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值