導航:首頁 > 編程語言 > 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的編程題型有哪些相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:388
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:992
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:431
pdf快速看圖破解版 瀏覽:294