當前位置:首頁 » 編程語言 » c語言以結尾輸出
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言以結尾輸出

發布時間: 2022-07-08 05:09:30

Ⅰ (c語言)輸入一組字元(以#號結尾),對該組字元進行統計,統計字母、數字和其它字元的個數,輸出統計結果。

你好,這是修改後的代碼:
#include<stdio.h>
#include<stdlib.h>
void main()
{
char c;
printf("請輸入一串字元(以#結束):");
c=getchar();
int i=0,j=0,k=0;//這三個值你忘記初始化了,必須初始化啊
while(c!='#')
{
if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))i++;
else
if(c>='0'&&c<='9')j++;
else k++;
c=getchar();//這個你忘記寫了,否則不會輸入完整
}
printf("字母個數:%d\n",i);
printf("數字個數:%d\n",j);
printf("其它字元個數:%d\n",k);
system("pause");
}
不懂追問我,滿意請採納,謝謝,祝愉快

Ⅱ C語言中如何以一個指定字元結束輸入並輸出結果,而不用按回車.

思路:可以利用while循環依次輸入,並判斷輸入的字元是否是結束字元,如果時就結束輸入並輸出輸入的字元。

參考代碼:

#include<stdio.h>
intmain()
{
intn=0,i;
chara[100];
while(scanf("%c",&a[n++])){
if(a[n-1]=='#')//輸入#就結束輸入
break;
}
for(i=0;i<n-1;i++)
printf("%c",a[i]);
printf(" ");
return0;
}
/*
輸出:
qewq#af
qewq
*/

Ⅲ c語言輸出的最後總是以「0」結尾是為什麼

你的程序寫的有問題,我重新改下,測試通過。你的程序主是由於對scanf函數對字元串的輸入接收理解不正確。你的:for(i=0;i<2;i++)
scanf("%s,%s,%c,%d",sa[i].name,sa[i].num,&sa[i].sex,&sa[i].age);
我更改後的:for(i=0;i<2;i++) {
printf("第%d位,name:", i+1);
gets(sa[i].name);
printf("第%d位,num:", i+1);
gets(sa[i].num);
printf("第%d位,sex[w,m]:", i+1);
scanf("%c",&sa[i].sex);
printf("第%d位,age:", i+1);
scanf("%d",&sa[i].age);
getchar();}[新的程序]#include<stdio.h>
#include<stdlib.h>
struct student
{char name[20];<br> char num[15];<br> char sex;<br> int age;<br>}sa[2],sb[2];
void main()
{FILE *fp;<br>int i, j;<br>if((fp=fopen("stu_list","w+b"))==NULL)<br>{printf("Can't open the file!");<br> exit(0);<br>}
printf("input:name num sex age\n");
for(i=0;i<2;i++) {//main change
printf("第%d位,name:", i+1);
gets(sa[i].name);
printf("第%d位,num:", i+1);
gets(sa[i].num);
printf("第%d位,sex[w,m]:", i+1);
scanf("%c",&sa[i].sex);
printf("第%d位,age:", i+1);
scanf("%d",&sa[i].age);
getchar();}
fwrite(sa,sizeof(struct student),2,fp);
rewind(fp);
fread(sb,sizeof(struct student),2,fp);
for(i=0;i<2;i++)
printf("%s,%s,%c,%d\n",sb[i].name,sb[i].num,sb[i].sex,sb[i].age);
fclose(fp);
}

Ⅳ C語言 程序結尾輸出文字問題

你是用什麼IDE的?有些IDE會在程序執行的結果後面顯示關於程序的一些信息,如執行時間等等。另外,如果還有不理解的,可以上
http://www.vcworld.net/bbs/?fromuid=976

Ⅳ C語言的字元串為什麼以0作為它的結尾

在C語言中沒有專門的字元串變數,通常用一個字元數組來存放一個字元串。字元串總是以''作為串的結束符。

因此當把一個字元串存入一個數組時,也把結束符 ''存入數組,並以此作為該字元串是否結束的標志。有了''標志後,就不必再用字元數組的長度來判斷字元串的長度了。

(5)c語言以結尾輸出擴展閱讀:

說明:

把一個字元串賦值給數組:u8 str1[]={"cxjr.21ic.org"};

實際上數組str1在內存中的實際存放情況為: c x j r . 2 1 i c . o r g ''

這後面的''是由C編譯系統自動加上的。所以在用字元串賦初值時一般無須指定數組的長度, 而由系統自行處理。 把字元數組str1中的字元串拷貝到字元數組str2中。串結束標志''也一同拷貝。

個案

1. 當數組長度不夠。假設我們指定了數組長度,如:u8 str1[13]={"cxjr.21ic.org"};
由於字元組str1的長度為13,所以後面的信息會丟失,即''丟失。

2. 如果在給數組賦值時,把每個字元單獨用引號括起來。也會丟失''。如:

u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};

如果希望數組以''結束,則可以寫成以下三者之一:

(1)u8 str1[]={"cxjr.21ic.org"}; //字元串賦值

(2)u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g',''}; //人工添加

(3)u8 str1[14]={'c','x','j','r','.','2','1','i','c','.','o','r','g'}; //故意給數組預留一個空位

Ⅵ 輸入一串字元,以號結束,輸出其中小寫字母個數和數字個數C語言程序

#include<stdio.h>
voidmain()
{
inti=0,m=0,n=0;
charstr[1000];
while(str[i]!='?')
{
scanf("%c",&str[i]);
if(str[i]>='a'&&str[i]<='z')m++;
if(str[i]>='0'&&str[i]<='9')n++;
}
printf("小寫字母個數:%d,數字個數:%d",m,n);
}


運行示例截圖: