1. c語言關於字元串和數組的輸入
不太明白你說的意思, 並且
arr[]={"c","h","i","n","a"}; //這樣是不正確的吧
2. 怎樣用c語言編寫函數,分別以數組和整數作為輸入參數,判斷一個年份是否為閏年
printf("年份:\n");
scanf("%d",&y);
if((y%100==0)&&(y%400==0)||(y%100!=0)&&(y%4==0))
printf("%d是閏年,該年2月份有29天\n",y);
else
printf("%d是平年,該年2月份有28天\n",y);
printf("\n");
3. C語言給字元型數組錄入數據
#include<stdio.h>
main()
{
char n[5];
int i,j,m;
int a,b;
scanf("%d",&a);
i=0;
m=0;
while(1) //while中有break 條件,你就不用在while中加條件了。
{
b=a;
n[i]=a%10;
a=a/10;
m++;
i++;
if(a==b)
break;
}
for(j=0;j<=m-1;j++)//修改成for(j=0;j<=m;j++)
printf("%c",n[j]);
printf("\n");
}
4. C語言:用戶輸入年份月份日期,輸入該日期是該年的第幾天(要求:用數組存放一年12個月的天數)
#include <stdio.h>
int main()
{
int year,month,day;
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
int i=0 , dayth=0;
printf("input yyyy-mm-dd :");
scanf("%d-%d-%d" , &year , &month, &day );
if ( month > 12 || month < 1 )
{
printf("input month error!\n");getchar();getchar();
return -1;
}
if ( year %400==0 || ( year%4==0&& year %100 ) )
days[1]=29 ;
if ( days[month-1] < day || day < 1 )
{
printf("input day error!\n");getchar();getchar();
return -1;
}
for( i=0;i<month-1 ; i++ )
{
dayth += days[i] ;
}
dayth += day ;
printf("%04d-%d-%d is the %dth day in the year\n" , year , month ,day , dayth );
return 0;
}
5. 在C語言中輸入一個年份的年和月份數,用數組輸出這個月的日歷
/* Note:Your choice is C IDE */
#include "stdio.h"
int main()
{
int y,m,i,d,a,j,k,n,t;
printf("請輸入您想查詢的年份:\n");
scanf("%4d",&y);
printf("請輸入您想查詢的月份:\n");
scanf("%2d",&m);
if(m<1||m>12) printf("您輸入的不正確!\n");
a=(y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400;
if((y%4==0&&y%100!=0)||(y%400==0))
i=1;
else i=0;
switch(m)
{ case 1: d=0; break;
case 2: d=31; break;
case 3: d=59+i; break;
case 4: d=90+i; break;
case 5: d=120+i; break;
case 6: d=151+i; break;
case 7: d=181+i; break;
case 8: d=212+i; break;
case 9: d=243+i; break;
case 10: d=273+i; break;
case 11: d=304+i; break;
case 12: d=334+i; break;
}
printf("%4d年%2d月:\n",y,m);
printf(" 一 二 三 四 五 六 日\n");
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) n=31;
if(m==4||m==6||m==9||m==11) n=30;
if(m==2) n=(28+i);
t=(a+d)%7;
for(j=1;j<=t;j++)
printf(" ");
for(k=1;k<=n;k++)
{
printf(" %2d",k);
if((k+t)%7==0) printf("\n");
}
printf("\n");
while (1);
return 0;
}
6. 用C語言的三維數組編寫程序,目的是輸入年份,用「*」顯示出剛才輸入的年份
測試通過,你去試試吧!
#include <stdio.h>
#include <string.h>
int data[10][5][3] = {
{1,1,1,1,0,1,1,0,1,1,0,1,1,1,1},
{0,1,0,1,1,0,0,1,0,0,1,0,1,1,1},
{1,1,1,0,0,1,1,1,1,1,0,0,1,1,1},
{1,1,1,0,0,1,1,1,1,0,0,1,1,1,1},
{1,0,1,1,0,1,1,1,1,0,0,1,0,0,1},
{1,1,1,1,0,0,1,1,1,0,0,1,1,1,1},
{1,1,1,1,0,0,1,1,1,1,0,1,1,1,1},
{1,1,1,0,0,1,0,0,1,0,0,1,0,0,1},
{1,1,1,1,0,1,1,1,1,1,0,1,1,1,1},
{1,1,1,1,0,1,1,1,1,0,0,1,1,1,1},
};
void display(int num)
{
int d[4][5][3];
int i,j,k;
for (i = 3; i>=0; --i)
{
memcpy(d[i], data[num%10], sizeof(int)*15);
num /= 10;
}
for (i = 0; i<5; i++)
{
for (j= 0; j<4; j++)
{
for (k=0; k<3; k++)
{
char star = (d[j][i][k] == 0) ? ' ' : '*';
printf("%c", star);
}
printf(" ");
}
printf("\n");
}
}
int main(int argc, char* argv[])
{
int year;
scanf("%d", &year);
display(year);
return 0;
}
7. c語言字元串數組怎麼輸入和輸出呢
在C語言中,有兩個函數可以在控制台(顯示器)上輸出字元串,它們分別是:
puts():輸出字元串並自動換行,該函數只能輸出字元串。
printf():通過格式控制符%s輸出字元串,不能自動換行。除了字元串,printf() 還能輸出其他類型的數據。
這兩個函數相信大家已經非常熟悉了,這里不妨再演示一下,請看下面的代碼:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通過字元串名字輸出
printf("%s ", "http://c.biancheng.net"); //直接輸出
puts(str); //通過字元串名字輸出
puts("http://c.biancheng.net"); //直接輸出
return 0;
}
運行結果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,輸出字元串時只需要給出名字,不能帶後邊的[ ],例如,下面的兩種寫法都是錯誤的:
printf("%s ", str[]);
puts(str[10]);
(7)c語言字元數組輸入年份擴展閱讀:
由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。