语言编程题
#include <stdio.h>
#include <math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x<=-2)
y=-pow(exp(1),2*x+1)+3;
else if(x<=3)
y=2*x-1;
else
y=2*log10(3*x+5)-11;
printf("%lf ",y);
return 0;
}
Ⅱ c语言编程题
//1.输入一个字符串和整数n,将前n个字符复制到另一个字符串中并输出。
#include<stdio.h>
void
main()
{
char
a[50];
char
b[50];
printf("输入一个字符串:\n");
int
n;
gets(a);
printf("输入一个整数\n");
scanf("%d",&n);
int
i;
for(i=0;i<n;i++)
{
b[i]=a[i];
printf("%c",b[i]);
}
printf("\n");
}
Ⅲ C语言编程题
void getWords(int n)
{
char s[]="Word,Excel,Powerpoint,Outlook,Access,InfoPath,Publisher,Sharepoint";
int i,cnt,last;
s[strlen(s)]=',';
s[strlen(s)]='\0';
for(i=0,cnt=0,last=-1;cnt<n&&i<strlen(s);i++)
{
if(s[i]==',')
{
cnt++;
if(cnt!=n)
{
last=i;
}
}
}
for(int k=last+1;k<i-1;k++)
{
printf("%c",s[k]);
}
}
如需调用库函数版本请追问
Ⅳ C语言编程题
long fun(int k)
{
if(i<2)
return 1L;
return k*fun(k-1);
}
或:
#include "stdio.h"
main()
{
double h,c;
//printf("Input h ");
scanf("%lf",&h);
c=5.0/9*(h-32);
printf("c=%lf",c);
}
(4)语言编程题扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
Ⅳ C语言编程题
#include<stdio.h>
voidmain(){
inta,b,i,j,k=1;
scanf("%d%d",&a,&b);
if(a>0&&b>0)
for(i=1;i<a;i++)
for(j=1;j<a;j++)
if(i+j==a&&i*2+j*4==b)
{k=0;printf(" %d%d",i,j);}
if(a<=0||b<=0||k)
printf("此题无解");
}
运行示例:
Ⅵ c语言编程题
这个是因为你的语法错误
if
{
语句
}
else
{
语句
}
要这种方式,你的是if(a<=1000) b= sqrt(a);这句判断就结束了,和后面的else没有关系了。要用{}把后面的语句括起来才可以。
Ⅶ c语言编程题
第一题
int a[2];
int *p = a;
*p = 11; *(p+1) = 92;
int cnt = 0;
for (int i = 0; i < 2; i++) {
if (*(p+i) % 10 == 2) ++ cnt;
}
第二题:
char a[11] = "aBcdEfghij";
char *p = a;
int m = 0;
char b[11] = {0};
for (int i = 0; i < 10; i++) {
if (int(*(p+i)) >= 65 && int(*(p+i)) <= 90 ) {
b[m++] = *(p+i);
}
}
for (int i = 0; i < m; i++) {
printf("%c", b[i]);
}
Ⅷ C语言编程题 求代码
#include <stdio.h>
#include <string.h>
int n;
struct Student {
int no;
char name[10];
int score[5];
int sum;
int average;
}student[100000];
void Sort(Student *s){
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++){
if(s[j].sum>s[i].sum){
char ns[100];
strcpy(ns,s[i].name);
strcpy(s[i].name,s[j].name);
strcpy(s[j].name,ns);
int snum=s[i].sum,save=s[i].average;
s[i].sum=s[j].sum,s[i].average=s[j].average;
s[j].sum=snum,s[j].average=save;
}
}
}
void printInfo() {
for (int i = 0; i < n; i++) {
printf("%s,%d,%d ", student[i].name, student[i].sum, student[i].average);
}
}
int main()
{
printf("请输入学生的数量n:");
scanf("%d",&n);
for (int i = 0; i < n; i++) {
printf("请分别输入第%d名同学的id,名字,成绩1,成绩2,成绩3,成绩4", i + 1);
scanf("%d%s%d%d%d%d", &student[i].no, student[i].name, &student[i].score[0], &student[i].score[1], &student[i].score[2],&student[i].score[3]);
student[i].sum=student[i].score[0]+student[i].score[1]+student[i].score[2]+student[i].score[3];
student[i].average=student[i].sum/4;
}
Sort(student);
printInfo();
return 0;
}
Ⅸ C语言编程题
要输入的分数太多,我懒得手数,用2位随机数代替手输入,输入函数我单独写了,你需要调用就行了,详细看备注。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#definestuNum15//学生人数
#definescNum7//模块数
typedefstructstu//定义学生数据结构
{
intsid;//学生ID
intsc[scNum];//对应7个模块成绩
intsum;//总成绩
}STU;
voidinsertSTU(STU*stu);//输入15个学生的信息
voidinsertTest(STU*stu);//测试,用随机数代替输入,我懒得输入那么多成绩,你要手输,调用insertSTU替换该函数
voidprintfSTU(STU*stu);//按输入顺序打印15名学生7模块成绩及每个模块前三名的成绩
intmain()
{
STUstu[stuNum];//定义15个学生
//inti,j,sc;
srand(time(NULL));
insertTest(stu);//想手动输入这里改成insertSTU(stu)
printfSTU(stu);
return0;
}
voidprintfSTU(STU*stu)//按输入顺序打印15名学生7模块成绩及每个模块前三名信息及总分前三名信息
{
inti,j,k,sc;
STU*max[3],*sum[3],newstu;//max对应7个模块前3的学生结构指针sum对应总分前3学生结构指针
for(i=0;i<stuNum;i++)
{
printf("编号%02d的学生7模块成绩及总分分别为:",stu[i].sid);
for(j=0;j<scNum;j++)
{
sc=stu[i].sc[j];
printf("%02d",sc);
}
printf("%d
",stu[i].sum);
}
for(j=0;j<scNum;j++)
{
for(k=0;k<scNum;k++)
{
newstu.sc[k]=0;
newstu.sum=0;
}
max[0]=max[1]=max[2]=&newstu;
for(i=0;i<stuNum;i++)
{
if(stu[i].sc[j]>max[0]->sc[j])
max[0]=&(stu[i]);
elseif(stu[i].sc[j]>max[1]->sc[j])
max[1]=&(stu[i]);
elseif(stu[i].sc[j]>max[2]->sc[j])
max[2]=&(stu[i]);
}
printf("模块%02d前3名分别为:编号:%02d分数:%02d编号:%02d分数:%02d编号:%02d分数:%02d
",j+1,max[0]->sid,max[0]->sc[j],max[1]->sid,max[1]->sc[j],max[2]->sid,max[2]->sc[j]);
}
sum[0]=sum[1]=sum[2]=&newstu;
for(i=0;i<stuNum;i++)
{
if(stu[i].sum>sum[0]->sum)
sum[0]=&(stu[i]);
elseif(stu[i].sum>sum[1]->sum)
sum[1]=&(stu[i]);
elseif(stu[i].sum>sum[2]->sum)
sum[2]=&(stu[i]);
}
printf("总分前3名分别为:编号:%02d总分:%02d编号:%02d总分:%02d编号:%02d总分:%02d
",sum[0]->sid,sum[0]->sum,sum[1]->sid,sum[1]->sum,sum[2]->sid,sum[2]->sum);
}
voidinsertSTU(STU*stu)//输入15个学生的信息
{
inti,j,sc;
for(i=0;i<stuNum;i++)
{
stu[i].sid=i+1;
stu[i].sum=0;
printf("输入编号%d的学生的7个模块成绩:",i+1);
for(j=0;j<scNum;j++)
{
//scanf("%d",&sc);//我懒得输入那么多成绩,就用随机数代替,你要输入把这句恢复
sc=(int)(rand()%100);//用随即2位数代替输入,不需要就注释掉
stu[i].sc[j]=sc;
stu[i].sum=stu[i].sum+sc;
}
}
}
voidinsertTest(STU*stu)//测试用代替输入
{
inti,j,sc;
for(i=0;i<stuNum;i++)
{
stu[i].sid=i+1;
stu[i].sum=0;
for(j=0;j<scNum;j++)
{
sc=(int)(rand()%100);
stu[i].sc[j]=sc;
stu[i].sum=stu[i].sum+sc;
}
}
}