博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言基础编程题目
阅读量:2089 次
发布时间:2019-04-29

本文共 3585 字,大约阅读时间需要 11 分钟。

1 从传入的num个字符中找出最长一个字符串,并通过形参指针max传回该串地址(用**作为结束标识符)

#include 
#include
#define MAX 100void fun(char(*a)[81], int num, char **max){ int i = 0; *max = a[0]; for (i = 0; i < num; i++) if (strlen(*max) < strlen(a[i])) *max = a[i];}int main(){ char ss[10][81], *ps; int n, i = 0; printf("输入若干各字符串:\n"); gets(ss[i]); puts(ss[i]); while (!strcmp(ss[i], "****") == 0) { i++; gets(ss[i]); puts(ss[i]); } n = i; fun(ss, n, &ps); printf("\nmax=%s\n", ps); printf("\n");}

2 请编写一个函数,用来删除字符串中的所有空格

#include 
void fun(char *str){ int i = 0; char *p = str; while (*p) { if (*p !=' ') //删除空格 str[i++] = *p; p++; } str[i] = '\0'; //加上结束符}int main(){ char str[81] = "welcome to Beijing"; fun(str); printf("%s\n", str);}

3 判断字符串是否为回文,若是,则返回1,否则返回0。例如字符串LEVEL是回文,而字符串123312就不是回文

#include 
int fun(char *str){ int i, n = 0, fg = 1; char *p = str; while (*p) { n++; p++; } for (i = 0; i < n / 2; i++) { if (str[i] != str[n - 1 - i]) { fg = 0; break; } } return fg;}int main(){ char str1[256] = "LEVEL"; char str2[256] = "123312"; if (fun(str1))printf("YES\n"); else printf("NO\n"); if (fun(str2))printf("YES\n"); else printf("NO\n");}

4 编写函数fun,其功能是:根据以下公式计算s并计算结果作为函数返回值返回,n通过形参传入。s=1+1/(1+2)+1/(1+2+3)+1/1+2+3+…n

float fun(int n){    int i, s1 = 0;    float s = 0.0;    for (i = 1; i <= n;i++)    {        s1 = s1 + i; //求每一项的分母        s = s + 1.0 / s1; //求多项式的值    }    return s;}

5 编写函数fun,其功能是:将s所指字符串中ASCII值为奇数的字符删除,剩余字符形成新串放在t所指数组中。

void fun(char *s, char t[]){    int i, j = 0, n;    n = strlen(s);    for (i = 0; i < n; i++)    {        if (s[i] % 2 == 0)        {            t[j] = s[i];            j++;        }    }    t[j] = '\0';}

6 删除一维数组中所有相同的数,使之只剩一个,数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据个数。

#include 
int fun(int a[],int n){ int i,j=1; for(i=1;i

7 规定输入的字符串中只包含字母和号。编写函数fun,其功能是:除了字符串前导和尾部的号外,将串中其它的*号全部删除。形参h已指向字符串中的第一个字母,形参p指向字符串中的最后一个字母。在编写函数时不得使用C语言提供的字符串函数。

#include 
void fun(char *a,char *h,char *p){ int i=0; char *q=a; while(q

8 编写函数fun,其功能是:计算并输出3-n之间所有素数的平方根之和

当输入100后 输出为sum=148.874270

#include 
#include
double fun(int n){ int m,k,i; double s=0.0; for(m=3;m<=n;m++) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1) s+=sqrt(m); } return s;}void main(){ int n=100; printf("%f\n",fun(n));}

9 请编写函数fun,该函数的功能是:计算并输出

S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+…+(1+2^0.5+3^0.5+…n^0.5)
当输入20后,则输出结果为S=534.188884
答案一:

#include 
#include
double fun(int n){ int i; double s=0.0,s1=0.0; for(i=1;i<=n;i++) { s1=s1+pow(i,0.5); s=s+s1; } return s;}void main(){ int n=20; printf("%f\n",fun(n));}

答案二:

#include 
#include
double fun(int n){ double sum=1.0; double temp=1.0; for(int i=2;i<=n;i++) { temp=1.0; for(int j=2;j<=i;j++) temp+=pow(j,0.5); sum+=temp; } return sum;}void main(){ int n=20; printf("%f\n",fun(n));}

10 请编写函数fun(),它的功能是计算:s=(ln(1)+ln(2)+ln(3)+…+ln(m))0.5。在C语言中可调用log(n)函数求ln(n)。例如,若m的值为20,则fun()函数值为6.506583。

#include 
#include
double fun(int m){ int i; double s=0.0; for(i=1; i<=m; i++) s=s+ log(i); //计算s=ln(1)+ln(2)+ln(3)+…+in(m) s=sqrt(s); //对s求平方根 return s; }void main(){ int n=20; printf("%f\n",fun(n));}

转载地址:http://ziqqf.baihongyu.com/

你可能感兴趣的文章
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
Oracle PL/SQL语言初级教程之操作和控制语言
查看>>
Oracle PL/SQL语言初级教程之过程和函数
查看>>
Oracle PL/SQL语言初级教程之表和视图
查看>>
Oracle PL/SQL语言初级教程之完整性约束
查看>>
PL/SQL学习笔记
查看>>
如何分析SQL语句
查看>>
结构化查询语言(SQL)原理
查看>>
SQL教程之嵌套SELECT语句
查看>>
日本語の記号の読み方
查看>>
计算机英语编程中一些单词
查看>>
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>