C语言中如果从键盘上输入一个代表星期几的数值(整数),根据下面的对应关系输出汉字星期值。

作者&投稿:承帜 (若有异议请与网页底部的电邮联系)
编写一个程序从键盘输入1到7数字中的一个,对应打印星期几,例如从键盘输入数字1,就在屏幕上打印星期一~

1、首先打开VS2017软件,选择新建下面的项目,如下图所示

2、C语言程序目录建成以后,右键单击源文件,选择添加新建项

3、接着选择C++文件,给文件起一个名字,如下图所示

4、然后在C语言文件中编写如下的C语言程序

5、运行结果如下:

1.从键盘上输入若干字符,直到输入’#”结束。统计英文字母、数字、空格、其他字符的个数并输出。
#include "stdio.h"
main()
{
char c;
int letter,number,space,other;
letter=number=space=other=0;
printf("
Please input some characters:(end of '#')
");
while((c=getchar())!='#')
{ if(c>='a' && c<='z') letter++;
else if(c>='A' && c<='Z') letter++;
else if(c>='0' && c<='9') number++;
else if(c==' ') space++;
else other++;
}
printf("
letter=%d,number=%d,space=%d,other=%d
",letter,number,space,other);
}
2.从键盘输入任意自然数N(N>10)要求:1.筛选出3~N之间的素数 2.输出素数,每个数占用6宽度,左对齐。
#include "stdio.h"
#include "math.h"
main()
{ int N,i,k,sqr,flag=1;
printf("
N=");
scanf("%d",&N);
while(N<=10)
{ printf("ERROR,input again:");
scanf("%d",&N);
}
for(k=3;k<=N;k++)
{ sqr=sqrt(N);
for(i=2;i<=sqr;i++)
if(k%i==0)
{ flag=0;
break;
}
if(flag==1)
printf("%-6d",k);
flag=1; }
}
3.有一个分数序列:2/1,3/2,,5/3,13/8,21/13,…从键盘输入自然数N(N>1),计算该数列的前N项之和。
分析:此系列的分子和分母均为斐波那契数列,可设一个整型数组a[M]存该数列:
a[0]=a[1]=1,a[i]=a[i-1]+a[i-2],
再设实型数组b[M]存分数:b[i]=a[i+1]/(float)a[i]
#include "stdio.h"
#define M 100
main()
{ int N,i,a[M];
float b[M],sum=0;
printf("
N=");
scanf("%d",&N);
a[0]=a[1]=1;
for(i=1;i<=N;i++)
{ a[i+1]=a[i]+a[i-1];
b[i]=a[i+1]/(float)a[i];
sum+=b[i];
}
printf("sum=%.2f",sum);
}
4.请输入3×3的行列式(整数构成),找出其中的最小数值,以及它所在行标和列标。
#include "stdio.h"
main()
{ int a[3][3],i,j,min,l,c;
printf("
a[3][3]=
");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
min=a[0][0];l=0;c=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(min>a[i][j])
{ min=a[i][j];
l=i;
c=j;
}
printf("MIN: a[%d][%d]=%d",l,c,min);
}
补充:输入3×3的行列式(整数构成),找出其中的最大值以及它所在的行标和列标
#include "stdio.h"
main()
{ int a[3][3],i,j,max,l,c;
printf("
a[3][3]=
");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
max=a[0][0];l=0;c=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(max<a[i][j])
{ max=a[i][j];
l=i;
c=j;
}
printf("MAX: a[%d][%d]=%d",l,c,max);
}
5.从键盘输入本班同学的程序设计课程分数保存在数组中(人数不超过45人,分数为整数),找出最高分及其所在的下标,并输出。
#include "stdio.h"
#define N 45
main()
{ int s[N],k,i;
printf("
Input scores:");
k=0;
for(i=0;i<N;i++)
{ scanf("%d",&s[i]);
if(s[k]<s[i])
k=i;
}
printf("The highest score is s[%d]=%d",k,s[k]);
}
6.从键盘输入本班同学的程序设计课程分数保存在数组中(人数不超过45人,分数为整数),将百分制成绩转换成等级 ‘A’~’E’(‘A’90及以上,’B’80分数段,’C’70分数段,’D’60分数段,’E’不及格),并输出成绩及其对应的等级数据。
#include "stdio.h"
#define N 45
main()
{ int s[N],i;
char grade[N];
printf("
Scores:");
for(i=0;i<N;i++)
{ scanf("%d",&s[i]);
if(s[i]>=90 && s[i]<=100) grade[i]='A';
else if(s[i]>=80 && s[i]<=89) grade[i]='B';
else if(s[i]>=70 && s[i]<=79) grade[i]='C';
else if(s[i]>=60 && s[i]<=69) grade[i]='D';
else if(s[i]>=0 && s[i]<=59) grade[i]='E';
else grade[i]='w'; /*wrong score*/
}
for(i=0;i<N;i++)
{ if(i%5==0) printf("
");
printf("%4d:%c",s[i],grade[i]);
}
}
7.从键盘输入5组(每组3个)浮点数作为三条边的长度,若它们能够构成三角形,则计算出三角形的面积,否则给出“不能构成三角形”的提示。
#include "stdio.h"
#include "math.h"
main()
{ float a[5][3],s,area[5];
int i,j;
for(i=0;i<5;i++)
{ printf("
No.%d:",i);
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
if((a[i][0]+a[i][1]>a[i][2]) && (a[i][0]+a[i][2]>a[i][1])
&& (a[i][1]+a[i][2]>a[i][0]) && abs(a[i][0]-a[i][1])<a[i][2]
&& abs(a[i][0]-a[i][2])<a[i][1] && abs(a[i][1]-a[i][2])<a[i][0])
{ s=(a[i][0]+a[i][1]+a[i][2])/2;
area[i]=sqrt(s*(s-a[i][0])*(s-a[i][1])*(s-a[i][2]));
printf("AREA[%d]=%f",i,area[i]);
}
else printf("Can't been a triangle!");
}
}
8.计算1-1/2+1/3-1/4+…+1/99-1/100的前N项的值,N从键盘输入,N大于1,小于100。
分析:第i项为:1/i,加减号交替出现,可以用flag存+1和-1来决定加减。
注意i需要转换为float型计算,否则结果不正确?
N为题目给定的数,所以一般不自行改名。?
#include "stdio.h"
main()
{ int N,i,flag=1;
float sum=0;
printf("
N=");
scanf("%d",&N);
for(i=1;i<=N;i++)
{ sum+=flag/(float)i;
flag=-flag;
}
printf("Sum=%.2f",sum);
}
9.从键盘输入一个字符串存入数组s[80],统计该字符串的长度并将其中所有小写字母改为大写字母,然后再将结果输出。
#include "stdio.h"
main()
{ char s[80];
int len,i;
printf("
Input a string:");
gets(s);
len=0;
i=0;
while(s[i]!='\0')
{ if(s[i]>='a' && s[i]<='z')
s[i]-=32;
len++;
i++;
}
printf("String:%s,length:%d",s,len);
}
10.从键盘上输入N个整数保存在数组中,用选择法排序将其按降序排列。
#include
#include
#define N 10
int main(int argc, char *argv[])
{ int i,j,key,a[N];
int pos;
printf("Please input ten numbers
");
for(i=0;i<N;i++) {
printf("a[%d]=",i);
scanf("%d",&a[i]); }
printf("
");
for(i=0;i<N;i++)
printf("%d;",a[i]);
printf("
");
for(i=0;i<N-1;i++)
{ for(j=i+1;j<N;j++)
{ key=a[i];
pos = i;
if(key > a[j])
{ key=a[j];
pos = j; } }
if (pos != i)
{ a[j] = a[i];
a[i]=key; } }
for(i=0;i<N;i++)
printf("%d;",a[i]);
printf("
");
return 0;
}
11.求100~1000之间有多少个整数,其各位数字之和为5,输出满足条件的所有数据以及总个数。
#include

void main()
{
int one,ten,hun; /* 100~1000整数的个、十、百位上的数字 */
int i,sum,count=0; /* i是100~1000整数,sum为各位数字的和,count为总个数 */
for(i = 100; i < 1000; i++)
{
one = i%10; /* 个位上的数字 */
ten = i/10%10; /* 十位上的数字 */
hun = i/100; /* 百位上的数字 */
sum = one+ten+hun; /* 各位数字的和 */
if(sum == 5) /* 如果各位数字之和为5则输出并统计个数 */
{
printf("%d ",i);
++count;
}

}
printf("
There all are %d numbers.
",count); /* 输出总个数 */
}


12. 从键盘上输入若干个学生成绩(百分制整数),直到输入-1结束。求平均分并保留一位小数输出
分析:定义score存储学生成绩,由题意知为整型数,范围0-100
定义平均分ave,因为需要小数输出,定义为float型
#include "stdio.h"
main()
{ int score,i=0;
float sum=0,ave;
printf("
Please input scores(end of -1):
");
do
{ scanf("%d",&score);
if(score>=0 && score<=100)
{ sum+=score;
i++; }
while(score!=-1);
ave=sum/i;
printf("
Average of %d students is %.1f",i,ave);
}

你原来的第十一题不会做,这份是我自己整理的,给点奖励吧!

用一个指针数组存放汉字"一"到"日"字符串的指针,可用简单代码解决这问题。举例如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char *pw[7]={"一","二","三","四","五","六","日"},w;
    while(1){
        printf("Input w(1-7,w<=0 end): w=");
        if(scanf("%d",&w) && w>0 && w<8)
            printf("%d <--> 星期%s
",w,pw[w-1]);
        else if(w<=0) break;
        else printf("Error, redo: ");
    }
    return 0;
}


printf ("1=星期一"); 不需要后面的 ,1

其它几个一样。
里面有 %d这种的才需要后面加参数
如 printf ("%d=星期一",n);

最后一个printf少了个分号;

最后一个printf少了个分号;

最后一个输出语句少一个分号。


用c语言编程:从键盘上输入一串字母,将其中每一个都变为其后第4个字母如...
include "stdio.h"void main(){ printf("请输入一串字母:\\n");char s[100];scanf("%s",&s);for(int i = 0;s[i] != '\\0';i ++){ if(s[i]>='a'&&s[i]<'w')s[i] += 4;else if(s[i]>='w'&&s[i]<='z')s[i] = 'a'+s[i]-'w';} printf("变化后的字符...

怎么在c语言从键盘输入x=20,y=25,z=A,然后将输入的内容从屏幕输出?
以下是C语言代码:```include int main() { int x, y;char z;printf("请输入x、y、z的值(格式为:x=20,y=25,z=A):");scanf("x=%d,y=%d,z=%c", &x, &y, &z);printf("您输入的内容为:x=%d, y=%d, z=%c", x, y, z);return 0;} ```运行程序后,会提示用户...

C语言如何从键盘输入一些字符,逐个把它们存入磁盘文件test中去,直到...
include<stdio.h>void main(){ FILE *fp; char ch; if((fp = fopen("test.txt","w"))==NULL) { printf("open file failed!\\n"); return ; } while((ch=getchar())!='#') { fputc(ch,fp); putchar(ch); } printf("\\n"); fclo...

用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数...
解题思路:先键盘输入10个整数,假设数组的第1个是最大数max,同时设置最大值下标为0,接着for循环依次判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和数组下标。参考代码:include<stdio.h> int main() { int i,a[10],max,maxi;\/\/输入10个整数 for(i=0;...

C 语言程序设计习题 如何从键盘上输入三个数,计算一元二次方程的实根...
先使用读入函数,从键盘读入三个数。你这三个数 分别是一元二次方程的 ax^2+bx+c=0中的abc,那么你就是用公式 先判断△=b^2-4ac的情况,分三种 1 △≥0 有两个实数根 x=[-b±(b^2-4ac)^(1\/2)]\/2a 2 △<0 无实数根。在编程的过程中 得给 abc的取值界定类型。

C语言程序从键盘上输入两个字符串若不相等将短的字符串连接到长的字符...
include "stdio.h"include "string.h"define MAX 500 void main(){ char str1[MAX], str2[MAX];int len1, len2;printf("input string 1 : ");gets(str1); \/* 输入字符串1 *\/ printf("input string 2 : ");gets(str2); \/* 输入字符串2 *\/ len1 = strlen(str1); \/* 获取...

在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中输入字符串后然后打印出来的编程方法如下:1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4....

c语言从键盘上输出十个数 不用数组 求出他们的最大最小值
include<stdio.h> int main(){ int max,min,temp,n;printf("请输入第1个数字:");scanf("%d",&max);printf("请输入第2个数字:");scanf("%d",&temp);if(temp>=max){ min=max;max=temp;}else{ min=temp;} for(n=0;n<8;n++){ printf("请输入第%d个数字:",n+3);scanf("...

C语言设计问题 从键盘上出入一个整数,将其加上10以后,再输出它的值_百...
include<stdio.h> int main(){ int iNum=0;printf("请输入一个整型变量iNum:");scanf("%d\\n",&iNum);iNum+=10;printf("iNum的输出值为:%d\\n",iNum);return 0;}

C语言编程题:从键盘输入一个小写字母,在屏幕上显示其对应的大写字母_百 ...
【C语言输入小写字母,输出显示为大写字母主要用到字符】例子如下:直接编译,程序输出结果中输入任意小写字母,按回车,得到结果如下图所示:

灵璧县19350077838: C语言中如果从键盘上输入一个代表星期几的数值(整数),根据下面的对应关系输出汉字星期值. -
岛制猪免: 用一个指针数zhidao组存放汉字"一"到"日"字符串的指针,可用简单代码解决这问题.举例如下: //#include "stdafx.h"//If the vc++6.0, with this line. #include "stdio.h" int main(void){char *pw[7]={"一","二","三","四","五...

灵璧县19350077838: c语言编写程序,判断输入的日期(月,日)属于哪个星座? -
岛制猪免: c语言的输出输入是格式化的,printf表示输出,在屏幕上打印出来;scanf表示读入,即把你在屏幕上如果打10,按回车,10就存储到month那个变量里面,%d代表输入一个整数.还有,要注意,你那个不是c语言……已经是c++了.你看上面定...

灵璧县19350077838: 解释一下C语言getc gets getchar scanf 区别 -
岛制猪免: 给你说下经常用到的几点:1. getchar只能用作字符数据读取(就算输入的是9,但是读取的是'9',如果以整形输出就是字符9的ASCII值),而scanf可以用很多,比如整形丶字符丶字符串等. 2. gets()接受的是字符串,括号里面一般是地址,比如char a[8],即就是把字符数组名放进去括号里,gets(a) 3. getchar和gets只是scanf的一种简便写法. 4. getc我用的不多,就不说了

灵璧县19350077838: c语言 如何从键盘输入字符串?????? -
岛制猪免: c语言从键盘输入字符串的步骤如下: 1.首先我们新建一个dev C++的项目. 2.接下来在项目中新建C语言程序文件. 3.然后在C语言文件中声明一个字节数组. 4.接下来我们通过printf函数提示用户输入字符串,通过scanf接收用户输入的字符串. 5.接着在通过printf函数输出用户输入的内容. 6.最后运行C语言程序,我们输入内容以后就可以输出了.这样就解决了c语言从键盘输入字符串的问题了.

灵璧县19350077838: 在C语言中,getchar,putchar代表什么意思?怎么用? -
岛制猪免: 在C语言中,getchar代表读入一个字符,putchar代表输出一个字符.getchar的用法是输入时直接使用getchar()函数获取字符,putchar的用法是传入字符变量进行打印. getchar由宏实现:#define getchar() getc(stdin).getchar有一个int型的返...

灵璧县19350077838: C语言编程实现:从键盘中输入任意一个多位的整数(位数不确定),将其每一位之间都用$分隔符分割之后... -
岛制猪免: 思路:定义一个字符数组,利用该数组接收键盘输入的整数,接着依次遍历该数组并输出. 参考代码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16#include "stdio.h" intmain() {inti;chara[100];gets(a);//接收键盘输入printf("%c",a[0]);//先输出第一个字符for(i=1;a[i]!='\0';i++)//接着输出各个字符printf("$%c",a[i]);return0; } /* 运行结果: 12345 1$2$3$4$5 */

灵璧县19350077838: C语言中从键盘上输入一一个字符,如果是小写字母,输出它后面一个字母
岛制猪免: #include <stdio.h>int main(){char a,b;printf("输入一个小写字母:\n");a=getchar();if ('a' <=a &&a<= 'z')b=a-32;printf("转换后的字母为:%c,%d\n",b,b);return 0;}

灵璧县19350077838: C语言怎么实现 由键盘输入一行字符,将其中每个数字字符所代表的数值累加起来,输出结果. -
岛制猪免: #include <stdio.h> #include <conio.h> void main(void) {char ch;int sum = 0;while((ch=getche())!='\r')//按下回车键,退出读入,并输出结果{if (ch>='0'&&ch<='9'){sum += ch - '0';}}printf("\n%d\n",sum); }

灵璧县19350077838: C语言 输入一个数 输出*的菱形 -
岛制猪免: 我用C++写的是这样的: #include <iostream> using namespace std; #include <math.h> int main() {int m;cout<<"please input n:";cin>>m;int n=m-1;for(int i=0;i<2*n+1;i++){for(int j=0;j<abs(n-i);j++)cout<<" ";for(int k=0;k<2*(n-abs(i-n))+1;k++)cout<<"*";cout<<endl;}return 0; } 你可以转换成C的~

灵璧县19350077838: c语言!!!! -
岛制猪免: &是取地址符号,当输入数据是,用来传递地址给程序,使你输入的值可以传到该变量代表的存储空间内,2的意思就是整型变量去两个长度,如果你输入“2空格333空格ajaaj",则变量 j 的值为2,变量 y 值为333.0 字符数组name 的值为ajaaj;空格可以用来确定一个变量输入完毕

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网