c語言循環輸入字元串
『壹』 有關c語言中字元串輸入及循環語句問題
你的問題應該跟這個問題是一樣的,
詳見:http://..com/question/2074964060003873148
都是在接收鍵盤輸入後沒有清鍵盤緩存區。
每次輸入後,按下回車鍵,會有對應的0x10(換行),0x13(回車)兩個ASCII字元也進入鍵盤緩沖區,所以下一個鍵盤掃描函數掃描輸入字元時,0x10字元等從鍵盤的緩存區進入,被輸入掃描函數當做輸入字元串賦值給字元串變數。故程序繼續往下執行了,而不是該輸入操作沒有執行。
更改措施:每次scanf後對鍵盤緩存區做清緩存動作,如fflush(stdin)等,即可避免此問題發生
相關部分改為:
a=getchar();
fflush(stdin); //增加一個清緩存動作
printf("請輸入一個字元串:\n");
gets(str);
。。。
應可處理此問題。
『貳』 C語言用for循環輸入字元(#結束輸入)並立刻輸出,如何統計出一共輸入的字元數
按照你程序的意思:
輸入字元,對小寫字母ASCII碼處理後列印,其它字元不處理直接列印。輸入#號結束輸入。
統計輸入字元的個數(不包括回車和#)。
思路:內嵌循環輸入無視回車。
下面是改寫內容:
#include <stdio.h>
int main()
{
char chChar=0;
int i=0;
for (i=0;chChar!='#';i++)
{
while((chChar=getchar())=='\n');
if(chChar=='#') break;
if (chChar>='a'&&chChar<='x')
chChar=chChar+2;
else if(chChar>='y'&&chChar<='z')
chChar=chChar-24;
putchar(chChar),putchar('\n');
}
printf("字元個數為%d\n",i);
return 0;
}
『叄』 c語言怎樣循環控制字元輸入的個數
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
char*buf=0;
intsize=0;
do
{
printf("inputsize:");
scanf("%d",&size);
if(size>0){
buf=(char*)malloc(sizeof(char)*(size+1));
if(buf==0)
{
printf("can'tallocmem ");
break;
}
memset(buf,0x00,sizeof(char)*(size+1));
scanf("%s",buf);
printf("%s ",buf);
free(buf);
}elsecontinue;
}while(size>0);
return0;
}
『肆』 用C語言從鍵盤循環輸入字元5個字元串
void main ()
{
char string[5];
int i;
char max,min,choice;
for(i=0;i<5;i++)
{
scanf("%c",&string[i]);
}
max = string[0];
for(i=1;i<5;i++)
if(strcmp(max,string[i]<0)
{
choice = max;
max = string[i];
string[i] = choice;
}
printf("%c",max);
//最小的同理
}
『伍』 C語言 如何用一個循環輸入字元串,例如123 e-3並換行結束
#include<stdio.h>
main()
{
char c[5];
int i;
for(i=0;i<5;i++)
{
scanf("%1c",&c[i]);
}
system("pause");
}
『陸』 c語言中怎麼連續輸入幾個字元串
1、首先我們新建一個dev C++的項目。
『柒』 C語言怎麼用循環輸入一個字元串,遇到特定字元停止(『@』) 123abc@
charch;
while((ch=getchar())!='@')
...
『捌』 如何在C語言里用循環語句輸入字元串
字元串在c語言中都是用字元數組中存放的,所以用循環順序的查找需要操作的字元就行了,這是查找類的函數,修改和轉換類的也是這樣。具體的操作很靈活,要看你演算法學得怎麼樣。
『玖』 c語言里,如何用循環輸入輸出字元串(不能用函數,只能用printf,scanf)
#include<stdio.h>
main()
{
int n,m
char a[10];
scanf("%d",&n);
m=n;
while(n){
n--;
scanf("%s",&a[n]);
}
while(m){
m--;
printf("%s",a[m]);
}
}
『拾』 C語言字元串如何循環輸入與儲存
#include<stdio.h>
#include<string.h>
char str[1005],ans[1005];
void main()
{
int MaxLen = 0;
int CurLen;
int i;
for(i=0;i<10;++i)
{
gets(str);
CurLen = strlen(str);
if(CurLen>MaxLen)MaxLen=CurLen,strcpy(ans,str);
}
puts(ans);
}