版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、請(qǐng)編寫程序求解下式的值(n、k的值從鍵盤轉(zhuǎn)入)2、張教授最近正在研究一個(gè)項(xiàng)目,其間涉及到十進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換,然而,手工 將大量的十進(jìn)制轉(zhuǎn)換成十六進(jìn)制是十分困難的。請(qǐng)編寫程序,將給定的非負(fù)十進(jìn)制數(shù)轉(zhuǎn)化成相應(yīng)的十六進(jìn)制數(shù)并輸出(用A、B、C、D、E、F分別表示十六進(jìn)制的 10、11、12、13、 14、 15)。3、輸入一個(gè)字母打印圖示圖形,該圖形中間一行由輸入字母組成,其相鄰的上下兩行由它前面的字母組成,按此規(guī)律,直到字母A出現(xiàn)在第一行和最末行為止。如下圖:ABBCCCDDDDCCCBBA4、試編程從N位數(shù)字串中刪去 M個(gè)數(shù)使剩下的數(shù)字串所表示的數(shù)值最小。5、 孿生數(shù)是指兩個(gè)相差為
2、2的素?cái)?shù),如3和5,5和7,11和13。請(qǐng)編寫程序輸出 15對(duì) 孿生數(shù)。6、 編寫程序找出文件中最長和最短的正文行并統(tǒng)計(jì)文件中的行數(shù)(假定最長行不超過80 個(gè)字符)。7、 數(shù)列總是有一些奇妙的性質(zhì)?,F(xiàn)有一數(shù)列A,它是以遞增順序排列的,并且該數(shù)列中所有的數(shù)的質(zhì)因子只有可能是2、3和5。請(qǐng)編寫程序輸出這個(gè)數(shù)列中的前N個(gè)數(shù)字。8、試編寫程序?qū)崿F(xiàn)兩個(gè)大的整數(shù)的乘法運(yùn)算。參考答案:1、請(qǐng)編寫程序求解下式的值(n、k的值從鍵盤轉(zhuǎn)入)#include vstdio.h>#include <math.h> void main(void)int n,k,x;double sum=0;print
3、f(”請(qǐng)輸入n和k的值:”);scanf("%d%d",&n,&k);for(x=1;x<=n;x+)sum+=pow(x,k);/ 注意計(jì)算次方的函數(shù)printf(” 所求結(jié)果為:fn",sum);11、12、/2 、張教授最近正在研究一個(gè)項(xiàng)目,其間涉及到十進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換,然而,手 工將大量的十進(jìn)制轉(zhuǎn)換成十六進(jìn)制是十分困難的。請(qǐng)編寫程序,將給定的非負(fù)十進(jìn)制數(shù)轉(zhuǎn) 化成相應(yīng)的十六進(jìn)制數(shù)并輸出(用A、B CD、E、F分別表示十六進(jìn)制的10、13、 14、 15)。#include <stdio.h>void main(voi
4、d)int data10,beichushu,yushu,shang;char data1610,p=0;/ 數(shù)組 data16 用于存放十六進(jìn)制各位上的數(shù)doprintf("請(qǐng)輸入一個(gè)非負(fù)十進(jìn)制數(shù):”);scanf("%d",&data10);while(data10<0);beichushu=data10;/ 將初始值作為被除數(shù)/ 以下循環(huán)用于完成轉(zhuǎn)換doshang=beichushu/16; 求商yushu=beichushu%16; 求余數(shù)if(yushu<10)/ 小于 1 0則轉(zhuǎn)換得到對(duì)應(yīng)數(shù)字字符 data16p+=yushu+
5、39;0'else/大于等于10則轉(zhuǎn)換得到對(duì)應(yīng)字母data16p+=yushu-10+'A' beichushu=shang;將商作為下次的被除數(shù)繼續(xù)除while(shang!=0);printf(”十進(jìn)制數(shù) %d所對(duì)應(yīng)的十六進(jìn)制數(shù)為:”,data10);for(p-;p>=0;p-)printf("%c",data16p); printf("n");/3 、輸入一個(gè)字母打印圖示圖形,該圖形中間一行由輸入字母組成,其相鄰的上下兩行由 它前面的字母組成,按此規(guī)律,直到字母A出現(xiàn)在第一行和最末行為止。如下圖:#include &
6、lt;stdio.h>void main(void)char ch,row,col;doprintf("請(qǐng)輸入中間行所對(duì)應(yīng)的字母(大寫):");scanf("%c",&ch);while(ch<'A')|(ch>'Z');/ 輸出圖形的上半部分 for(row=1;row<=ch-'A'+1;row+)/ 控制行數(shù)for(col=1;colv=ch-'A'-row+1;col+)輸出相應(yīng)個(gè)數(shù)空格以控制位置 printf(" ");for(c
7、ol=1;colv=row;col+) 輸出相應(yīng)個(gè)數(shù)字母 printf("%c",row+'A'-1);printf("n");/ 換行/ 輸出圖形的下半部分for(row=1;rowv=ch-'A'row+)/ 控制行數(shù)for(col=1;colv=row;col+)輸出相應(yīng)個(gè)數(shù)空格以控制位置 printf(" ");for(col=1;colv=ch-'A'-row+1;col+)/輸出相應(yīng)個(gè)數(shù)字母 printf("%c",ch-row);printf("
8、;n");/ 換行4、試編程從N位數(shù)字串中刪去 M個(gè)數(shù)使剩下的數(shù)字串所表示的數(shù)值最小。#include "stdio.h"#include "string.h"#define N 80void main()char strN+1;int i,j,n,m,yn;/yn 用于判斷數(shù)字串有是否有逆序?qū)Γ?有, 0無printf(" 請(qǐng)輸入原始數(shù)字串: ");scanf("% s",str);printf(" 原始數(shù)字串為: %sn",str);n=strlen(str);doprintf(&
9、quot; 請(qǐng)輸入要?jiǎng)h除的數(shù)的位數(shù)( 0-%d ): ",n);scanf("% d",&m);while(m<0)|(m>n);yn=1;while(m>0)&&(yn)/ 有逆序?qū)r(shí)刪除較大者yn=0;for(i=0;(stri+1!='0')&&(yn=0);i+)if(stri>stri+1)/ 有逆序?qū)?for(j=i;strj+1!='0'j+) strj=strj+1;strj='0'm-;yn=1;if(m>0)strstrlen(
10、str)-m='0'printf("% sn",str);15 對(duì)/5 、孿生數(shù)是指兩個(gè)相差為 2 的素?cái)?shù),如 3 和 5,5和 7,11和 13。請(qǐng)編寫程序輸出 孿生數(shù)。/ 注意: 1既不是素?cái)?shù),也不是合數(shù), 2 是最小的素?cái)?shù),也是唯一的偶素?cái)?shù)#include <stdio.h>/ 判斷 x 是否為素?cái)?shù),若是則返回 1,否則返回 0int judge(int x)int i,yn;yn=1;/ 為 1 表示是素?cái)?shù)for(i=2;(i<x)&&(yn=1);i+)if(x%i=0)yn=0;return yn;void ma
11、in(void)unsigned i=2,count=1,d1,d2; while(count<=15) d1=i; d2=d1+2; i+;if(judge(d1)&&judge(d2) printf("No.%2d:%10d%10dn",count+,d1,d2);80/6 、編寫程序找出文件中最長和最短的正文行并統(tǒng)計(jì)文件中的行數(shù)(假定最長行不超過 個(gè)字符)。#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 80void main(
12、void)unsigned count=1,maxno,minno; char maxN+1,minN+1,curN+1,fnameN+1;FILE *fp; printf(" 請(qǐng)輸入文件名: ");/ 輸入文件名 scanf("%s",fname);fp=fopen(fname,"r"); if(fp=NULL)printf(”文件無法打開!n");else while(!feof(fp)/ 文件沒結(jié)束時(shí)反復(fù)讀取并判斷 fgets(cur,N,fp);/ 讀取一行if(count=1)/ 若為第一行則當(dāng)其為目前的最長及最短
13、行 maxno=1;minno=1; strcpy(max,cur);strcpy(min,cur);else/ 若不是第一行if(strlen(max)<strlen(cur)/ 新的最長行maxno=count;strcpy(max,cur);if(strlen(min)>strlen(cur)/ 新的最短行minno=count;strcpy(min,cur);count+;/ 行號(hào)增 1;fclose(fp);printf(”文件共有 %d 行 n",count-1);printf(”最長行為第 %d行,其內(nèi)容為: sn",maxno,max); pri
14、ntf("最短行為第 %d行,其內(nèi)容為: %sn",minno,min);7、數(shù)列總是有一些奇妙的性質(zhì)?,F(xiàn)有一數(shù)列A,它是以遞增順序排列的,并且該數(shù)列中所有的數(shù)的質(zhì)因子只有可能是2、3和&請(qǐng)編寫程序輸出這個(gè)數(shù)列中的前N個(gè)數(shù)字。#include <stdio.h>/此題的關(guān)鍵是如何分解出一個(gè)數(shù)x所有的質(zhì)因子/下面函數(shù)用于判斷 x的質(zhì)因子是否僅為 2、3或5,是則返回1,否則返回0 int judge(int x)int i=2,yn;yn=1;while(x>=i)&&(yn)if(x%i=0)如果能整除if(!(i=2)|(i=3)
15、|(i=5)/ 質(zhì)因子不是 2、 3或5 yn=0;while(x%i=0)&&(yn)x/=i;i+;return yn;void main(void)int n,i,count=0;doprintf("請(qǐng)輸入要求的數(shù)列元素的個(gè)數(shù)(>=1):");scanf("%d",&n);while(n<1);for(i=2;count<n;i+)if(judge(i) printf("No.%5d: %10dn",+count,i);printf("n");/8 、試編寫程序?qū)崿F(xiàn)兩
16、個(gè)大的整數(shù)的乘法運(yùn)算。#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 100/ 逆置,因?yàn)橛?jì)算機(jī)中數(shù)據(jù)的高低位跟現(xiàn)實(shí)中的習(xí)慣剛好相反 void revert(char t)int i,len;char temp;len=strlen(t);for(i=1;i<=len/2;i+)temp=ti-1;ti-1=tlen-i; tlen-i=temp;/ 以字符串形式輸入被乘數(shù)和乘數(shù)void input(char a,char b)doprintf("n 請(qǐng)輸入要
17、進(jìn)行乘法運(yùn)算的兩個(gè)整數(shù)(單個(gè)數(shù)不要超 scanf("%s%s",a,b);while(strlen(a)>N)|(strlen(b)>N);/ 對(duì)兩個(gè)數(shù)實(shí)現(xiàn)乘法運(yùn)算char * multiply(char a,char b)char *p;unsigned int i,j,x,y,r1,r2,r3;p=(char *)malloc(1+strlen(a)+strlen(b);/ 對(duì)存放乘積的空間進(jìn)行初始化pstrlen(a)+strlen(b)='0' for(i=0;i<strlen(p);i+) pi='0'/ 進(jìn)行乘法
18、運(yùn)算for(i=0;i<strlen(b);i+)y=bi-'0'for(j=0;j<strlen(a);j+)x=aj-'0' r1=x*y+(pj+i-'0'); r2=r1%10;r3=r1/10; pj+i=r2+'0' pj+i+1=pj+i+1-'0'+r3+'0'/ 將前導(dǎo) 0 取消 for(i=strlen(p);(i>=0)&&(pi-1='0');i-) pi-1='0'return(p);void main()c
19、har aN,bN,c2*N;input(a,b);/ 逆置,以方便運(yùn)算 revert(a); revert(b);strcpy(c,multiply(a,b);/ 逆置,以便于跟現(xiàn)實(shí)中的高低位順序一致 revert(a);revert(b); revert(c);printf("%s*%s=%sn",a,b,c); system("pause");/一種改進(jìn)算法/ 以下程序?qū)崿F(xiàn)兩個(gè)比較大的正整數(shù)相乘,可以得出準(zhǔn)確/ 的結(jié)果:#include <stdio.h>#include <stdlib.h>#include <str
20、ing.h>#define WEISHU 4 / 每組包含的位數(shù)#define MAXLEN 10000 / 單個(gè)數(shù)字最多位數(shù)/ 逆置,因?yàn)橛?jì)算機(jī)中數(shù)據(jù)的高低位跟現(xiàn)實(shí)中的習(xí)慣剛好相反void revert (char *data)unsigned short i,len;char temp;len=strlen (data) ;for (i=1;i<=len/2;i+)temp=datai-1;datai-1=datalen-i;datalen-i=temp;/ 將字符串形式的數(shù)據(jù)分組并轉(zhuǎn)換成 unsigned short 形式/ 的數(shù)據(jù),每組長度為 weishu, 0 號(hào)元素存放
21、組數(shù) (系數(shù)個(gè)數(shù) ) void stoi (char *str,unsigned short *data)unsigned short s=0,i,j=1,quan=1;for(i=0;stri!='0'i+)s=s+quan*(stri-'0');quan*=10;if(i+1)%WEISHU=0)data j+ =s; s=0; quan=1; if(i%WEISHU!=0) data j+ =s;data 0 =j-1;/ 從鍵盤輸入數(shù)據(jù)并暫存入一個(gè)字符數(shù)組void input (char *str,unsigned short *data)printf(
22、" 請(qǐng)輸入一個(gè)正整數(shù): n") ;scanf("%s",str);revert(str) ;/ 逆置stoi(str,data) ;/ 分組并轉(zhuǎn)換/ 對(duì)兩個(gè)數(shù)實(shí)現(xiàn)乘法運(yùn)算unsigned short * multiply (unsigned short *a,unsigned short *b)unsigned short *p,i,j,base=1;unsigned int temp;for(i=1;i<=WEISHU;i+) / 計(jì)算相應(yīng)的基base*=10;/ 給乘積的存放準(zhǔn)備空間p=(unsigned short *)malloc(a0+b0+1)*sizeof(unsigned short);if(p=NULL)return NULL;/ 內(nèi)存分配不成功,無法進(jìn)行運(yùn)算elsep0=a0+b0;/ 對(duì)存放乘積的空間進(jìn)行初始化for(i=1;i<=p0;i+)pi=0;/ 進(jìn)行乘法運(yùn)算for(i=1;i<=b0;i+)for(j=1;j<=a0;j+)temp=bi*aj+pj+i-1;pj+i-1=temp%base;pj+i=pj+i+temp/base;return p;/ 輸出void output (unsigned short
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年綠色施工安全生產(chǎn)文明工地綜合服務(wù)合同3篇
- 二零二五版養(yǎng)老機(jī)構(gòu)勞動(dòng)合同管理規(guī)范及養(yǎng)老服務(wù)協(xié)議3篇
- 2025年度香菇食品企業(yè)信用評(píng)級(jí)與評(píng)估服務(wù)合同2篇
- 二零二五年櫥柜安裝及廚房設(shè)備更新合同2篇
- 年度老年人保健品競爭策略分析報(bào)告
- 二零二四年外債轉(zhuǎn)貸業(yè)務(wù)借款合同標(biāo)準(zhǔn)3篇
- 二零二五版商業(yè)地產(chǎn)項(xiàng)目股權(quán)借款抵押合同3篇
- 2024版新材料研發(fā)與技術(shù)轉(zhuǎn)讓合同
- 二零二五版體育賽事贊助合同協(xié)議范本下載3篇
- 二零二五版企業(yè)安全生產(chǎn)與環(huán)境保護(hù)培訓(xùn)合同2篇
- HG∕T 2058.1-2016 搪玻璃溫度計(jì)套
- 九宮數(shù)獨(dú)200題(附答案全)
- 泌尿科一科一品匯報(bào)課件
- 人員密集場(chǎng)所消防安全管理培訓(xùn)
- 白銅錫電鍍工藝
- 拜耳法氧化鋁生產(chǎn)工藝
- 2024年南京信息職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 部編版二年級(jí)下冊(cè)道德與法治第二單元《我們好好玩》全部教案
- 幼兒園利劍護(hù)蕾專項(xiàng)行動(dòng)工作方案總結(jié)與展望
- 合同信息管理方案模板范文
- 2024年大唐云南發(fā)電有限公司招聘筆試參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論