日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言基础程序题及答案(适合学完C基础的人练练手)

發布時間:2023/12/31 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言基础程序题及答案(适合学完C基础的人练练手) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:C語言最早是由丹尼斯.里奇(Dennis Ritchie)為了在PDP-11電腦上運行的Unix系統所設計出來的編程語言,第一次發展在1969年到1973年之間。C源于BCPL語言,后者由馬丁.理察德(Martin Richards)于1967年左右設計實現的。

1.用C語言簡單的輸出一個九九乘法表(注意排序整齊)。

#include <stdio.h>int main(void) {int i,j;printf("乘法表:\n");for ( i = 1; i <= 9; i++){for ( j = 1; j <= i; j++){if (i<=4 && j==3){printf("%5d*%d=%d",j,i,i*j);}else{printf("%4d*%d=%d",j,i,i*j); }}printf("\n");}return 0; }

?結果輸出:

2.用C語言實現一個用戶輸入一個大寫字母,然后以這個大寫字母生成金字塔。

#include <stdio.h>int main(void) {char i,j,z,k;int h,q;printf("請輸入一個大寫字母:");scanf("%c",&k);if ('A'<=k && k<='Z'){q=k-65;for (z = 'A'; z <= k; z++){for ( h=0; h < q; h++){printf(" ");}for ( i = 'A'; i < z; i++){printf("%c ",i);}for ( j = z; j >='A'; j--){printf("%c ",j);} q--;printf("\n");} }return 0; }

?結果輸出:

3.已知數組nums[6]={1,9,4,58,12,23},定義一個指針函數int* max(int* p,int len);返回一個最大值的地址。

#include <stdio.h>//聲明 int* max(int* p, int len);int main(void) {//定義局部變量int nums[6]={1,9,4,58,12,23}, i,*k;//調用max函數,并把返回的地址給指針k;k=max(nums, 6);//打印printf("最大值為:%d",*k);return 0; }//返回最大值的地址 int* max(int* p, int len) {//定義局部變量int* q,i,k=0;for(i=0; i<len-1; i++){if (*(p+k) < *(p+i+1)){k=i+1;}}//把最大值的地址給了指針qq=p+k;//返回指針qreturn q; }

? 結果輸出:

最大值為:58

4.有一個數組nums[ ]={2,7,11,15},還有一個變量target=13,寫一個函數實現返回數組中兩個數相加等于target的兩個下標。

#include<stdio.h> #include<string.h>int* twoSum(int* nums, int numsSize, int target, int* returnSize);int main(void) {int nums[]={2,7,11,15},target=13,returnSize[2],numsSize=0;numsSize=sizeof(nums)/sizeof(int);twoSum(nums,numsSize,target,returnSize);printf("%d\n",returnSize[0]);printf("%d\n",returnSize[1]);return 0; }int* twoSum(int* nums, int numsSize, int target, int* returnSize) {int i,j;for(i=0;i<numsSize-1;i++){for(j=i+1;j<numsSize;j++){if(nums[i]+nums[j]==target){returnSize[0]=i;returnSize[1]=j;}}} }

? 結果輸出:

0 2

5.編寫一個去除重復字符的函數,例如:用戶輸入:weerrt? 輸出:wert 。

#include<stdio.h> #include<string.h>//聲明 int removeDuplicates(char* nums, int numsSize);int main(void) {//定義局部變量int i,numsSize=0,a=0;char nums[64];//用戶輸入printf("請輸入一個字符串:");scanf("%s",nums);//計算字符串字符個數numsSize=strlen(nums);//將返回結果加1給numsSize重新賦值numsSize=removeDuplicates(nums,numsSize)+1;//打印結果printf("去除重復字符后的結果:");for ( i = 0; i < numsSize; i++){printf("%c",nums[i]);}return 0; }//去除字符串里的重復字符 函數 int removeDuplicates(char* nums, int numsSize) {//定義局部變量int i,j,k,y=numsSize-1,a=0;//利用for循環遍歷for(i=0;i<numsSize;i++){for(j=i+1;j<numsSize;j++){//判斷是否有重復字符if(*(nums+i)==*(nums+j)){numsSize--;a++;for ( k = j; k < numsSize; k++){//利用指針解引用去除重復*(nums+k)=*(nums+k+1);}j--;}}}//將后面不需要的值全部賦值為空for ( i = 0,j=y; i < a; i++,j--){*(nums+j)='\0';}//返回不重復字符的個數return numsSize-1; }

? 結果輸出:

?

?

? ? ? ?**有錯誤或者寫的不好的地方,可以評論區留言或者聯系我更改**

?

?

總結

以上是生活随笔為你收集整理的C语言基础程序题及答案(适合学完C基础的人练练手)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。