文章更新已截止
1、用戶輸入字符c的值乌逐,按下表對(duì)應(yīng)關(guān)系輸出a的值竭讳。
輸入的c值 | 輸出的a值 |
---|---|
$ | 8.26 |
7 | 13.48 |
% | 1.10 |
# | 0.075 |
其他字符 | 0 |
/*switch-case寫法*/
#include <stdio.h>
int main(int argc, char *argv[])
{
char c;
float a;
scanf("%c",&c);
switch(c){
case '$':a=8.26;break;
case '&':a=13.48;break;
case '%':a=1.10;break;
case '#':a=0.075;break;
default:a=0;break;
}
printf("a=%f\n",a);
return 0;
}
/*if-else寫法*/
#include <stdio.h>
int main(int argc, char *argv[])
{
char c;
float a;
scanf("%c",&c);
if(c=='$')
a=8.26;
else if(c=='&')
a=13.48;
else if(c=='%')
a=1.10;
else if(c=='#')
a=0.075;
else
a=0;
printf("a=%f\n",a);
return 0;
}
2、輸出100-1000之間能同時(shí)被7和9整除的數(shù)黔帕,1行輸出5個(gè)數(shù)代咸。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,num=0;
for(i=100;i<=1000;i++){
if(i%7==0&i%9==0){
printf("%d ",i);
num++;
if(num%5==0)
printf("\n");
}
}
return 0;
}
3、根據(jù)下表的對(duì)應(yīng)關(guān)系成黄,使用if語(yǔ)句或switch語(yǔ)句完成顯示匯率程序設(shè)計(jì)呐芥。
輸入字符 | 輸出數(shù)據(jù) |
---|---|
u | 826.72 |
e | 1182.30 |
j | 15.13 |
h | 109.65 |
其他字符 | 0 |
/*if-else寫法*/
#include <stdio.h>
int main(int argc, char const *argv[])
{
char c;float d;
scanf("%c",&c);
if (c=='u')
{
a = 826.72;
}else if (c=='e')
{
a = 1182.30;
}else if (c=='j')
{
a = 15.13;
}else if (c=='h')
{
a = 109.65;
}else
a = 0;
printf("a=%f\n",a);
return 0;
}
/*switch-case寫法*/
#include <stdio.h>
int main(int argc, char const *argv[])
{
char c;float d;
scanf("%c",&c);
switch(c){
case 'u': a=826.72;break;
case 'e': a=1182.30;break;
case 'j': a=15.13;break;
case 'h': a=109.65;break;
default:a=0;break;
}
printf("a=%f\n",a);
return 0;
}
4、利用循環(huán)語(yǔ)句計(jì)算下列公式的值奋岁,并輸出sum的值思瘟。
sum=11+13+15+……+197+199
#include <stdio.h>
int main(int argc, char const *argv[]){
int i,sum=0;
for (int i = 11; i <=199; i+=2){
sum+=i;
}
printf("sum=%d\n", sum);
return 0;
}
5、請(qǐng)編寫函數(shù)fun闻伶,其功能是:計(jì)算并輸出下列多項(xiàng)式的值:
S = 1 + 1/1! + 1/2! + 1/3! +1/4! + …… + 1/n!
#include <stdio.h>
double fun(float x){
if (x==1)
return 1;
else
return x*fun(x-1);
}
int main(int argc, char const *argv[]){
float S=1.0;
int i,num;
scanf("%d",&num);
for (int i = 1; i <= num; i++){
S+=1/fun(i);
}
printf("S=%d\n", S);
return 0;
}
6滨攻、程序設(shè)計(jì):輸出100以內(nèi)所有素?cái)?shù)。
#include <stdio.h>
int main(){
int i,n;
for(i=2;i<=100;i++){ //1肯定不是素?cái)?shù)蓝翰,所以從2開始遍歷
for(n=2; n<i;n++) //判斷是否為素?cái)?shù)(除了1和本身光绕,不能被其他的數(shù)整除),從2到i
if (i%n==0) //如果2到i中有任意的一個(gè)數(shù)可以整除畜份,則退出
break;
if(n>=i)
printf("%d is prime number\n", i);
}
return 0;
}
7诞帐、程序設(shè)計(jì):用戶輸入整數(shù)x,y值爆雹,按以下公式計(jì)算z值并輸出停蕉。
#include <stdio.h>
int main(){
int x,y,z=0;
scanf("%d%d",&x,&y);
if(x>0&&y>0)
z=3*x*x-y*y;
else if(x<0&&y<0)
z=4*x*x*x+y*y*y;
else
z=0;
printf("z=%d",z);
return 0;
}
8钙态、程序設(shè)計(jì):輸入一個(gè)年份year慧起,判斷是否為閏年。
#include <stdio.h>
int main( )
{
int year;
scanf("%d",&year);
if(year%4==0&&year%100!=0||year%400==0)
printf("%d is RunNian",year);
else
printf("%d is not RunNian",year);
return 0;
}
9册倒、根據(jù)下表的對(duì)應(yīng)關(guān)系蚓挤,使用if語(yǔ)句或switch語(yǔ)句完成等級(jí)評(píng)定程序設(shè)計(jì)。
輸入數(shù)據(jù) | 輸出等級(jí) |
---|---|
300 | A |
200-299 | B |
100-199 | C |
0-99 | D |
/*if-else寫法*/
#include <stdio.h>
int main(){
int num;
char Grade;
scanf("%d",&num);
if(num==300)
Grade = 'A';
else if(num>=200&&num<=299)
Grade = 'B';
else if(num>=100&&num<=199)
Grade = 'C';
else if(num>=0&&num<=99)
Grade = 'D';
else
printf("輸入的數(shù)據(jù)不合法驻子!");
if(Grade=='A'||Grade=='B'||Grade=='C'||Grade=='D')
printf("Grade=%c\n",Grade);
else
printf("\n");
return 0;
}
/*switch寫法*/
#include <stdio.h>
int main(){
int num;
char Grade;
scanf("%d",&num);
switch(num/100){
case 3:Grade='A';break;
case 2:Grade='B';break;
case 1:Grade='C';break;
case 0:Grade='D';break;
default: printf("輸入的數(shù)據(jù)不合法屈尼!");
}
if(Grade=='A'||Grade=='B'||Grade=='C'||Grade=='D')
printf("Grade=%c\n",Grade);
else
printf("\n");
return 0;
}
10、利用循環(huán)語(yǔ)句計(jì)算下列公式的值拴孤,并輸出sum的值脾歧。
#include <stdio.h>
int main(){
float sum=1.0,symbol=1.0;
int i;
for(i=0;i<=50;i++){
sum+=symbol*(2*i)/(2*i+1);
symbol=-symbol;
}
printf("%f",sum);
return 0;
}
11、編寫一個(gè)程序演熟,將兩個(gè)字符串連接起來(lái)鞭执,不要使用strcat函數(shù)。
寫法1:
#include <stdio.h>
int main(){
char s1[100],s2[50];
int i=0,j=0;
scanf("%s",s1);
scanf("%s",s2);
while(s1[i]!='\0')
i++;
while(s2[i]!='\0')
s1[i++]=s2[j++];
s1[i]!='\0';
printf("%s\n",s1);
return 0;
}
寫法2:
#include <stdio.h>
int main(){
char s1[100],s2[50];
int i=0,j=0;
gets(s1);
gets(s2);
while(s1[i]!='\0')
i++;
while(s2[i]!='\0')
s1[i++]=s2[j++];
s1[i]!='\0';
puts(s1);
return 0;
}
12芒粹、輸入一個(gè)不超過(guò)4位的正整數(shù)兄纺,判斷其為幾位數(shù)并輸出。
方法1:判斷各個(gè)位上是否有非0數(shù)字
#include<stdio.h>
int main(){
int num_in,num_dight=0;//num_in為輸入的數(shù)化漆,num_dight為判斷幾位數(shù)的變量
int num_gewei,num_shiwei,num_baiwei,num_qianwei;
scanf("%d",&num_in);
if(num_in>=0&&num_in<=9999){
num_qianwei=num_in/1000%10;
num_baiwei=num_in/100%10;
num_shiwei=num_in/10%10;
num_gewei=num_in/1%10;
if(num_qianwei!=0)
num_dight=4;
else if(num_qianwei==0&&num_baiwei!=0)
num_dight=3;
else if(num_qianwei==0&&num_baiwei==0&&num_shiwei!=0)
num_dight=2;
else
num_dight=1;
printf("您輸入的num_in=%d是%d位數(shù)\n",num_in,num_dight);
}else
printf("您輸入的數(shù)據(jù)不合法估脆!\n");
return 0;
}
方法2:直接比較法
#include <stdio.h>
int main(){
int num_in,num_dight=0;
scanf("%d",&num_in);
if(num_in>=1000&&num_in<=9999)
num_dight=4;
else if(num_in>=100&&num_in<=999)
num_dight=3;
else if(num_in>=10&&num_in<=99)
num_dight=2;
else if(num_in>=0&&num_in<=9)
num_dight=1;
else
printf("您輸入的數(shù)不合法!");
if(num_dight==1||num_dight==2||num_dight==3||num_dight==4)
printf("您輸入的是%d位數(shù)\n",num_dight);
else
printf("\n");
return 0;
}
方法3:do-while循環(huán)
#include <stdio.h>
int main(){
int num_in,num_dight=0;
scanf("%d",&num_in);
do{
num_dight+=1;
num_in/=10;
}while(num_in>0);
printf("您輸入的是%d位數(shù)\n",num_dight);
return 0;
}
13座云、程序設(shè)計(jì):輸出九九乘法表疙赠。
#include <stdio.h>
int main(){
int i,j;
for(i=1;i<=9;i++)
for(j=1;j<=9;j++){
if(j<i)
printf(" ");
else
printf("%d*%d=%-2d\t",i,j,i*j);
}
printf("\n");
return 0;
}
14付材、輸入一行字符串,判斷有幾個(gè)單詞
#include <stdio.h>
int main()
{
printf("輸入一行字符:\n");
char ch;
int i,count=0,word=0;
while((ch=getchar())!='\n')
if(ch==' ')
word=0;
else if(word==0)
{
word=1;
count++;
}
printf("總共有 %d 個(gè)單詞\n",count);
return 0;
}
15圃阳、任意輸入三個(gè)整數(shù),程序設(shè)計(jì)實(shí)現(xiàn)對(duì)這個(gè)三個(gè)整數(shù)從小到大排序輸出厌衔。
#include <stdio.h>
int main()
{
int num1,num2,num3,temp;
scanf("%d,%d,%d",&num1,&num2,&num3); /*輸入任意的3個(gè)整數(shù)*/
if(num1>num2){ /*如果num1大于num2,借助中間變量temp實(shí)現(xiàn)num1與num2值的互換*/
temp=num1;
num1=num2;
num2=temp;
}
if(num1>num3){ /*如果num1大于num3,借助中間變量temp實(shí)現(xiàn)num1與num3值的互換*/
temp=num1;
num1=num3;
num3=temp;
}
if(num2>num3){ /*如果num2大于num3,借助中間變量temp實(shí)現(xiàn)num2與num3值的互換*/
temp=num2;
num2=num3;
num3=temp;
}
printf("The order of the nums is:%d,%d,%d",num1,num2,num3); /*輸出函數(shù)順序輸出num1、num2捍岳、num3的值*/
return 0;
}
16富寿、猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半锣夹,還不過(guò)癮页徐,又多吃了一個(gè)。第二天早上又將第一天剩下的桃子吃掉一半银萍,有多吃了一個(gè)变勇。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第 10 天早上想再吃時(shí)砖顷,發(fā)現(xiàn)只剩下一個(gè)桃子了贰锁。編寫程序求猴子第一天摘了多少個(gè)桃子。
/*while循環(huán)*/
#include <stdio.h>
int main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0){
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("peach sum is%d\n",x1);
return 0;
}
/*for循環(huán)*/
include <stdio.h>
int main()
{
int day,x1,x2;
x2=1;
for(day=9;day>0;day--){
x1=(x2+1)*2;
x2=x1;
}
printf("peach sum is%d",x1);
return 0;
}
17滤蝠、求某一范圍內(nèi)完數(shù)的個(gè)數(shù)豌熄。 完數(shù)概念:如果一個(gè)數(shù)等于它的因子之和,則稱該數(shù)為“完數(shù)”(或“完全數(shù)”)物咳。例如锣险,6的因子為1、2览闰、3芯肤,而 6=1+2+3,因此6是“完數(shù)”压鉴。
#include <stdio.h>
int main()
{
int i,j,sum,num; /*變量i控制選定數(shù)范圍崖咨,j控制除數(shù)范圍,s記錄累加因子之和*/
printf("請(qǐng)輸入所選范圍上限:\n");
scanf("%d",&num); /* num的值由鍵盤輸入*/
for(i=2;i<=num;i++){
sum=0; /*保證每次循環(huán)時(shí)sum的初值為0*/
for(j=1;j<i;j++){
if(i%j==0) /*判斷j是否為i的因子*/
sum+=j;
}
if(sum==i) /*判斷因子的和是否和原數(shù)相等*/
printf("%d is a perfect number!\n",i);
}
}
18油吭、輸入兩個(gè)數(shù)a击蹲,b。如果兩個(gè)數(shù)同為奇數(shù)則輸出它們的差婉宰,否則輸出它們的和歌豺。
#include <stdio.h>
int main(int argc, char *argv[])
{
int a,b;//輸入的兩個(gè)數(shù)
int sum=0;//兩個(gè)數(shù)的和或差的初始值
scanf("%d,%d",&a,&b);
if(a%2!=0&&b%2!=0)
// printf("%d",sum=a-b);
sum+=(a-b);
else
sum+=(a+b);
printf("%d",sum);
return 0;
}
19、輸入一個(gè)字符心包,如果是小寫轉(zhuǎn)換成大寫类咧,如果是大寫直接輸出
#include <stdio.h>
int main(int argc, char *argv[])
{
char c,d;
c=getchar();
if(c>='A'&&c<='Z')
printf("%c",c);
else{
c-=32;
printf("%c",c);
}
return 0;
}
20、編程輸出100以內(nèi)所有被3整除,并能被5整除余3痕惋,被7整除余1的兩位數(shù)
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for(i=10;i<100;i++){
if(i%3==0&&i%5==3&&i%7==1)
printf("%d\n",i);
}
return 0;
}
21区宇、編寫程序,求出[1,1000]范圍內(nèi)能被3或13整除血巍,但不能同時(shí)被3和13整除的總個(gè)數(shù)萧锉,返回這些數(shù)的個(gè)數(shù)珊随。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,sum=0;
for(i=1;i<=1000;i++){
if((i%3==0||i%13==0)&&!(i%3==0&&i%13==0)){
printf("%d ",i);//驗(yàn)證數(shù)字用
sum+=1;
}
}
printf("%d\n",sum);
return 0;
}
22述寡、從鍵盤上輸入20個(gè)正整數(shù)(或浮點(diǎn)數(shù)),輸出偶數(shù)的個(gè)數(shù)及偶數(shù)和(或浮點(diǎn)數(shù)總和)
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,a,sum=0,num=0;//num為偶數(shù)個(gè)數(shù)叶洞,sum為偶數(shù)和
for(i=1;i<=20;i++){
scanf("%d",&a);
if(a%2==0){
//printf("%d\n",a);
num+=1;
sum+=a;
}
}
printf("num=%d\n",num);
printf("sum=%d\n",sum);
return 0;
}
23鲫凶、編程實(shí)現(xiàn)從鍵盤上反復(fù)輸入10個(gè)整數(shù),判斷其是整數(shù)還是負(fù)數(shù)衩辟,如果是正數(shù)則累加求和螟炫。最后輸出累加和值。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,a,sum=0;
for(i=1;i<=10;i++){
scanf("%d",&a);
if(a>0){
sum+=a;
}
}
printf("sum=%d\n",sum);
return 0;
}
24艺晴、編寫一個(gè)函數(shù)昼钻,功能是計(jì)算2345的各位數(shù)字的平方和
#include <stdio.h>
int a,b,c,d,pingfang;
void fun(int x){
a=x/1000%10;
b=x/100%10;
c=x/10%10;
d=x/1%10;
pingfang=a*a+b*b+c*c+d*d;
printf("%d",pingfang);
}
int main(int argc, char *argv[])
{
fun(2345);
return 0;
}
25、統(tǒng)計(jì)100到10000之間有多少和這樣的整數(shù)封寞,其各位數(shù)字之和能被7整除然评。
int a,b,c,d,e,sum;
int fun(int x){
a=x/10000%10;
b=x/1000%10;
c=x/100%10;
d=x/10%10;
e=x/1%10;
sum=a+b+c+d+e;
}
int main(int argc, char *argv[])
{
int i,sum_number=0;
for(i=100;i<=10000;i++){
if(fun(i)%7==0)
sum_number+=1;
}
printf("%d\n",sum_number);
return 0;
}
26、編程找出100到x(x<=999)之間各位上的數(shù)字之和為15的所有整數(shù)狈究,并在屏幕輸出碗淌。
#include <stdio.h>
int a,b,c,sum;
int fun(int x){
a=x/100%10;
b=x/10%10;
c=x/1%10;
sum=a+b+c;
}
int main(int argc, char *argv[])
{
int i,sum_number=0;
for(i=100;i<=999;i++){
if(fun(i)==15){
sum_number+=1;
printf("%d\n",i);
}
}
printf("%d\n",sum_number);
return 0;
}
27、請(qǐng)編寫程序計(jì)算并輸出下列多項(xiàng)式的和:鍵盤輸入n值 (當(dāng)前程序邏輯應(yīng)該沒(méi)有問(wèn)題抖锥,就是在Cfree編輯器里不執(zhí)行)
1-1/2×2-2/3×3-3/4×4-……-(n-1)/n×n
#include <stdio.h>
int main(int argc, char *argv[])
{
int n;
float i,sum=1.0;
printf("請(qǐng)輸入正整數(shù)n:");
scanf("%d\n",&n);
if(n<=0)
printf("輸入錯(cuò)誤亿眠,請(qǐng)輸入正整數(shù)!");
else if(n==1)
printf("sum=%f",sum);
else{
for(i=2;i<=n;i++)
sum-=((i-1)/(i*i));
printf("sum=%f",sum);
}
return 0;
}
28磅废、編程求序列2/1,3/2,5/3,8/5,13/8……前20項(xiàng)和纳像。
#include <stdio.h>
int main(int argc, char *argv[])
{
float a[20]={2.0,3.0};
float b[20]={1.0,2.0};
int i;
float sum=0;
for(i=0;i<20;i++){
if(i>=2){
a[i]=a[i-1]+a[i-2];
b[i]=a[i-1];
}
sum+=a[i]/b[i];
}
printf("%f",sum);
return 0;
}
29、下面程序的功能是計(jì)算1-1/2+1/3-1/4…+1/99-1/100+…的值拯勉,直到最后一項(xiàng)的絕對(duì)值小于10的-6次冪為止(1/1000000)竟趾。
#include <stdio.h>
int main(int argc, char *argv[])
{
float num=0,sum=0;
int i;
for(i=1;i<=1000000;i++){
if(i%2==0)
num=-i;
else
num=i;
sum+=1/num;
}
printf("sum=%f",sum);
return 0;
}
30、輸入10個(gè)數(shù)存于數(shù)組谜喊,將其中最小數(shù)與第一個(gè)數(shù)交換潭兽,將最大數(shù)與最后一個(gè)數(shù)交換。
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[10],i,min,max;
for(i=0;i<10;i++){
scanf("%d",&a[i]);//將10個(gè)數(shù)存入數(shù)組
}
for(i=0;i<9;i++){
if(a[i]>a[i+1]){
max=a[i];
//min=a[i+1];
a[i]=a[i+1];
a[i+1]=max;
}
}
for(i=9;i>0;i--){
if(a[i]>a[i+1]){
//max=a[i];
min=a[i+1];
a[i]=min;
a[i+1]=a[i];
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);//將10個(gè)數(shù)存入數(shù)組
}
return 0;
}
31斗遏、以下程序的功能是:輸入10個(gè)學(xué)生的成績(jī)山卦,統(tǒng)計(jì)學(xué)生的平均分,并將成績(jī)小于平均分的成績(jī)輸出。
#include <stdio.h>
int main(int argc, char *argv[])
{
int score[10],i;
float average=0,sum=0;
for(i=0;i<10;i++){
scanf("%d",&score[i]);
sum+=score[i];
}
average=sum/10;
for(i=0;i<10;i++)
if(score[i]<average)
printf("第%d個(gè)學(xué)生的成績(jī)小于平均成績(jī)账蓉,成績(jī)?yōu)?d\n",i+1,score[i]);
return 0;
}
32枚碗、定義一個(gè)整型數(shù)組a[10],輸入各個(gè)元素的值铸本,輸出元素值為奇數(shù)并且下標(biāo)也為奇數(shù)的元素的和肮雨。
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[10],i,sum=0;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
if(i%2==1&&a[i]%2==1)
sum+=a[i];
}
printf("sum=%d",sum);
return 0;
}
33、編寫函數(shù)將數(shù)組s1中字符串中的小寫英文字母放入數(shù)組s2中
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char s1[100],s2[50];
int i=0,j=0;
gets(s1);
gets(s2);
while(s1[i]!='\0'){
if(s1[i]>='a'&&s1[i]<='z'){
s2[j]=s1[i];
j++;
}
i++;
}
s2[j]='\0';
puts(s2);
return 0;
}