导航:首页 > 编程语言 > c的编程题型有哪些

c的编程题型有哪些

发布时间:2022-05-13 04:23:33

A. c语言编程题目

这题用筛选法求素数,打表,数据太大,这样写直接超时。

筛选法,打表部分代码:

#define MAX 1000000
int sign[MAX]={1,1,0}
int prime[MAX/2];

int main()
{
int i,j,l=0;

for(i=2;i<=MAX;i++)

{
if(sign[i]==0)

{
prime[++l]=i;
for(j=2*i;j<=MAX;j+=i)
sign[j]=1;

}

}

return 0;

}

B. C语言编程题目

你要设计一种数据结构来表示每一个方块。一种简单直接的数据结构是 :

classBox{
intleft,right,up,down;
public:
boolrightNeighbour(Boxconst&other)const{
returnother.left==right;
}
booldownNeighbour(Boxconst&other)const{
returnother.up==down;
}
}

比如 left, right, up, down 分别表示左右上下是否可以连通,假设0为不连通,1为连通。

举例,比如

Boxmountain=Box{0,0,0,0}//四个方向都不连通,是小山

我们需要初始化N*M个Box对象,每一个连通情况按图片来。

除了最后一列,每一个box都需要检查与右边的连通是否匹配。

BoxA,B;

判断Box B 是否可以放在Box A 右边,条件 A.right ==B.left

同理 除了最后一行,每一个box都需要检查与下边的连通是否匹配。

BoxC,D;

判断Box D 是否可以放在Box C 下边,条件 C.down == D.up

所有满足这两个条件的排列就是一组解。

如果需要判断边界也把边界条件加上。

C. 求教c语言的编程题目

根据题意构建学生结构体。查询分析。

1.手动录取学生信息对应我的函数iputCStus,连续输入一个班级的学生信息,构建一条链表,返回头节点,想创建多个班级,反复调用即可。

2.统计平均分和最高最低分,对应我的函数showById。

3.统计功能对应函数tjRN。

另外,由于演示和测试需要一组学生信息,反复手动输入不合理,所以我又单独写了一个随机数自动生成数据的函数init,你不需要可以删除。

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

#include <malloc.h>

#define SN 3//学科门数

#define MINS 60//不及格阀值,低于该值不及格

typedef struct student

{

char id[10];

char name[10];

int scores[SN];

struct student *next;

}STU;

STU *iputCStus();//输入一个班级的学生信息,创建链表,成功返回头节点,失败返回NULL

void freeSList(STU *stusHead);// 释放链表

void showById(STU *stusHead);//按照学号输出成绩

void showBySc(STU *stusHead);//每门课程的平均分、最高分、最低分

void tjRN(STU *stusHead);//统计区间人数60以下,[60~79],[80~89],[90及以上],返回数组

int main()

{

//----测试用!!!代替手动输入---------

STU *init();

STU *stusHead=init();

//-------------------------------------


//题目要的手动输入--替换上面的测试函数--------------

//STU *stusHead=iputCStus();

//--------------------------------------------------

showById(stusHead);

showBySc(stusHead);

tjRN(stusHead);

return 0;

}

STU *init()//测试用函数,不需要可以删除,用到头文件stdlib和time也可以一并删除

{

#define STN 9//测试生成的学生数量

int i,j,sc;

char snum[STN];

STU *stusTail=NULL;

static STU stusHead,stusNew[STN];

srand(time(NULL));

printf("---开始生成测试用数据链表(50~100随机数作为成绩)---- ");

for(i=0;i<STN;i++)

{

strcpy(stusNew[i].id,"S00");

strcat(stusNew[i].id,itoa(i+1,snum,10));

strcpy(stusNew[i].name,"学生");

strcat(stusNew[i].name,snum);

for(j=0;j<SN;j++)

{

sc=rand()%51+50;//50~100的随机数

stusNew[i].scores[j]=sc;

}

if(i==0)

stusHead.next=&stusNew[i];

else

stusTail->next=&stusNew[i];

stusTail=&stusNew[i];

}

return &stusHead;

}

void freeSList(STU *stusHead)

{

STU *stusLast=NULL;

if(stusHead)

while(stusHead->next)

{

if(stusLast)

free(stusLast);

stusLast=stusHead->next;

stusHead=stusHead->next;

}

if(stusLast)

free(stusLast);

if(stusHead)

free(stusHead);

}

void tjRN(STU *stusHead)//统计区间人数60以下,[60~79],[80~89],[90及以上],返回数组

{

STU *stusHSave=stusHead;

int scnt=0,i,tj[SN][4];

for(i=0;i<SN;i++)

{

tj[i][0]=tj[i][1]=tj[i][2]=tj[i][3]=0;

printf(" 课程%d统计结果: ",i+1);

while(stusHead->next)

{

if(stusHead->next->scores[i]<60)

tj[i][0]++,printf("学号:%-5s 成绩:%3d不及格 ",stusHead->next->id,stusHead->next->scores[i]);

if(stusHead->next->scores[i]>=60 && stusHead->next->scores[i]<=79) tj[i][1]++;

if(stusHead->next->scores[i]>=80 && stusHead->next->scores[i]<=89) tj[i][2]++;

if(stusHead->next->scores[i]>=90) tj[i][3]++;

if(i==0) scnt++;

stusHead=stusHead->next;

}

printf("不及格人数共计:%d ",tj[i][0]);

printf("60-80分的人数为:%d,占比:%.0f%% ",tj[i][1],tj[i][1]*1.0/scnt*100);

printf("80-90分的人数为:%d,占比:%.0f%% ",tj[i][2],tj[i][2]*1.0/scnt*100);

printf("90分以上的人数为:%d,占比:%.0f%% ",tj[i][3],tj[i][3]*1.0/scnt*100);

stusHead=stusHSave;

}

}

void showBySc(STU *stusHead)

{

float avg[SN];

int i,sum[SN]={0},max[SN]={0},min[SN]={0},sCNT=0;

STU *stusHSave=stusHead;

printf(" ");

for(i=0;i<SN;i++)

{

if(stusHead->next)

max[i]=min[i]=stusHead->next->scores[i];

while(stusHead->next)

{

if(stusHead->next->scores[i]>max[i])

max[i]=stusHead->next->scores[i];

else if(stusHead->next->scores[i]<min[i])

min[i]=stusHead->next->scores[i];

sum[i]+=stusHead->next->scores[i];

sCNT++;

stusHead=stusHead->next;

}

avg[i]=sum[i]*1.0/sCNT;

stusHead=stusHSave;

}

for(i=0;i<SN;i++)

printf("课程%d的平均分为%.1f,最高分为%d,最低分为%d ",i+1,avg[i],max[i],min[i]);

printf(" ");

}

void showById(STU *stusHead)

{

int i;

printf(" ");

while(stusHead->next)

{

printf("学号:%-5s的成绩分别为:",stusHead->next->id);

for(i=0;i<SN;i++)

printf("%3d ",stusHead->next->scores[i]);

printf(" ");

stusHead=stusHead->next;

}

}

STU *iputCStus()

{

int i;

char c;

STU *stusHead=NULL,*stuNew=NULL,*stuTail=NULL;

stusHead=(STU *)malloc(sizeof(STU));

if(!stusHead) return NULL;

stusHead->next=NULL;

while(1)

{

stuNew=(STU *)malloc(sizeof(STU));

if(!stuNew)

{

freeSList(stusHead);

return NULL;

}

stuNew->next=NULL;

printf("请输入学生学号:"),scanf("%s",stuNew->id);

printf("请输入学生姓名:"),scanf("%s",stuNew->name);

for(i=0;i<SN;i++)

printf("请输入学科%d成绩:",i+1),scanf("%d",&stuNew->scores[i]);

if(stusHead->next==NULL)

stusHead->next=stuNew;

else

stuTail->next=stuNew;

stuTail=stuNew;

getchar();

c=0;

while(c!='Y' && c!='N')

printf(" 是否继续录入?Y/N "),c=getchar();

printf(" ");

if(c=='N')

break;

}

return stusHead;

}

D. 计算机二级c语言考试的题型有哪些以及相应的分值是多少

考试形式及分值:
笔试:选择(70分)填空(30分)
机试:改错(30分)填空(30分)程序(40分)

E. 计算机二级c语言程序设计有哪些题型

全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。

单选题中1~10题为二级公共基础知识,单选题的11~40题是C语言的内容。

操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。

程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。

程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。

编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。

二级C语言程序设计考试涉及公共基础知识和C语言两块。公共基础知识内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。考10个单选每个1分。

C语言有基础知识(C语言概述、常量与变量、数据类型、运算符和表达式),编程三大结构(顺序结构、选择结构、循环结构),数组、函数和指针,其他内容(预处理命令、结构体和共用体、位运算、文件)四大部分内容。重点是第二、三部分。

F. c语言编程题目

Ps:1、很久没写过C语言了,希望没什么问题。
2、代码中将捐款0元的也当做是参与了捐款,如果要更符合需求一点的话请自行过滤。

G. C语言编程题目三道

#include<stdio.h>
#include<string.h>
voiddele(char*str,charc);
intmain()
{
charstr[50]={0},c;
gets(str);
scanf("%c",&c);
dele(str,c);
printf("%s ",str);
return0;
}
voiddele(char*str,charc)
{
intlen=strlen(str),i,j;
for(i=0;i<len;i++)
{
if(str[i]==c)
{
for(j=i;j<len-1;j++)
{
str[j]=str[j+1];
}
str[len-1]=0;
len--;
i--;
}
}
}

H. 计算机二级C语言都有哪些题型

全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。


单选题中1~10题为二级公共基础知识,考试内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。单选题的11~40题是C语言的内容。


操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。
程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。程序填空题以实际填写的内容为评分依据,填写正确一个空,给一个空的分。如果是2个空,每个空就是9分;如果是3个空每个空是6分。
程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。与程序填空类似,2处错误的话,每处9分,3处错误的话,每处6分。程序改错题的题目会提示每一处错误所在的行,在那一行的上一行有********found********标识。
编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。因此,大多数情况下,编程题要么就是得24分满分,要么就是0分。

I. C语言编程题目

J. c语言编程题目及答案

#include <stdio.h>
#include <math.h>
void main(void)
{
double a;

double b;

double c;/* 以上三个变量分别对应三边 */

double sin_c;/* c边对应角的正玄值 */

double cos_c;/*c边对应角的余玄值*/

double cos_a;

double area; /* 三角形的面积 */

printf("输入a,b,c:");

scanf("%lf, %lf, %lf", &a, &b, &c);

if(((a+b)>c) && (a-b)<c)
{
printf("三边能够成三角形\n.");

cos_c = (a*a + b*b -c*c)/(2*a*b);

cos_a = (b*b + c*c - a*a)/(2*b*c);

if ((cos_c > 0) && (cos_a >0))
{
printf("三角形是锐角三角形。\n");
}

else if ((cos_c < 0) || (cos_a < 0))
{
printf("三角形是钝角三角形\n");
}
else
{
printf("三角形是直角三角形\n");
}

sin_c = sqrt(1- cos_c*cos_c);

area = a*b*sin_c/2;

printf("三角形的面积是%f.\n",area);
}
else
{
printf("三边不能构成三角形\n");
}
}

阅读全文

与c的编程题型有哪些相关的资料

热点内容
管家婆辉煌2加密狗挪到另一台电脑 浏览:760
摩托车在哪里app看考题 浏览:356
苹果5app在哪里设置 浏览:737
如何查看服务器的磁盘使用 浏览:165
python蒙特卡洛模型投点图 浏览:330
安卓手机属于什么接口 浏览:742
微信群推广网站源码 浏览:764
九江离鹰潭源码 浏览:719
python可以当作函数的返回值 浏览:422
地铁逃生体验服怎么进入安卓 浏览:833
齐鲁工惠app的中奖记录在哪里 浏览:759
linuxkill命令详解 浏览:103
dhcp服务器动态分配地址 浏览:265
门禁卡加密了能破解吗 浏览:215
在哪里下载百度网盘app 浏览:917
服务器要升级什么意思 浏览:831
银行还房贷解压方法 浏览:702
服务器主机办公如何提速 浏览:920
cad打印为pdf 浏览:418
卖手表的app哪里可以卖 浏览:55