字符串
1.将字符串p中的所有字符复制到字符串b中,要求每复制三个字符之后插入一个空格。
b[k]=*p; | b[k++]=' '; |
2.先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
for(i=0;i<=sl;i++) | t[2*sl]='\0'; |
3.先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。
int i,sl; | t[i] = s[sl-i-1]; |
4.将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。
void fun(char *s,char *t) | t[2*d]='\0'; |
5.将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中。
int k,q,i; | pt[i]=str[k][i]; |
6.首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指串符串中的字符,按排列的顺序交叉合并到c所指数纽中,过长的剩余字符接在c所指数组的尾部。
while(i<j) | if(*a) |
7.逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成—个新的字符串。
int k=0; | while(*p||*q) |
8.在字符串str中出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。
q=p+i; | while(q>p) |
9.比较两个字符串,将长的那个字符串的首地址作为函数值返回。
char* fun(char *s, char *t) | ss++; | tt++; |
10.从N个字符串中出最长的那个串,并将其地址作为函数值返回。各字符串在主函数输入,并放入一个字符串数组中。
char* fun(char (*sq)[M]) | return sp; |
11.将字符串s中位于奇数位置的字符或ASCII码为偶数的字符放入字符串t中(规定第—个字符放在第0位中)。
if(i%2||s[i]%2==0) | t[j]='\0'; |
12.下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
s[j++]=s[i]; | s[j]='\0'; |
13.在字符串的最前端加入n个*号,形成新串,并且覆盖原串。
p=s; | while(*p++); |
14.将字符串中的内容按逆序输出。
fun(char *a) | printf("%c",*a); |
15.删除字符串s中的所有空白字符(包括Tab字符、回车符及换行符),输入字符串时用"#"结束输入。
for(i=0,t=0;p[i];i++) | c[t]='\0'; |
16.从字符串s中删除所有小写字母'c'。
s[j++]=s[i]; | s[j]='\0'; |
17.分别统计字符串中大写字母和小写字母的个数。
void fun(char *s,int *a,int *b ) | *a=*a+1; | *b=*b+1; |
18.统计字符串中各元音字母(即:A,E,I,0,U)的个数。注意:字母不分大,小写。
num[k]=0; | switch(*s) |
19.统计子字符串substr在字符串str中出现的次数。
for(i=0;str[i];i++) | if(substr[k+1]=='\0') |
20.计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
r=t; | if(*r==0) |
21.从s所指字符串中,出t所指子串的个数作为函数值返回。
r++; p++; | if(*r=='\0') |
22.求出在字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未到,则函数值为NULL。
a=NULL; | if(*r==*p) |
23.将s所指字符串中最后—次出现的、t1所指子串替换成t2所指子串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
while(*w) | if(*r==*p) |
24.将s所指字符串中出现的t1所指子串全部替换成t2所指子字符串,所形成的新串放在w所指的数组中。
while(*r) | *a=*r;a++;r++; |
25.判断字符ch是否与str所指串中的某个字符相同;若相同,则什么也不做,若不同,则将其插在串的最后。
void fun(char *str,char ch ) | if(*str!=ch) | str[1]='\0'; |
26.读入—个英文文本行,将其中每个单词第—个字母改成大写,然后输出此文本行(这里的“单词”指由空格隔开的字符串)。
#include <stdio.h> | void upfst(char *p) |
27.将p所指字符串中每个单词的最后—个字母改成大写(这里的“单词”指由空格隔开的字符串)。
if(*p==' ') | *(p-1)=toupper(*(p-1)); |
28.将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其他字符不变。
while(*s!='\0') | s++; |
29.将大写字母转换为对应小写字母之后的第五个字母;若小写字母为v~z,使小写字母的值减21。转换后的小写字母作为函数值返回。
c=c+32; | c=c+5; |
30.将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。
if(('a'<=tt[i])&&(tt[i]<='z')) | tt[i]-=32; |
31.将一个由八进制数字字符组成的字符串转换为与其面值相等十进制整数。规定输入字符串最多只能包含5位8进制数字。
n=*p-'0'; | n=n*8+*p-'0'; |
数字
1.从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。
void fun(long s,long *t) | sl=sl*10; |
2.将长整型数中每一位上为偶数的数依次取出,构成—个新数放在t中。高位仍在高位,低位仍在低位。
if(d%2==0) | s/=10; |
3.从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。
void fun(long s,long *t) | while(s>0) |
4.将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
*t=0; | if(d%2!=0) |
5.计算正整数num的各位上的数字之积。
long k=1; | num/=10; |
6.统计一个无符号整数中各位数字①值为零的个数,通过形参传回主函数;并把该整数中各位上最大数字值作为函数值返回。
if(t==0) | *zero=count; |
7.计算n的5次方的值(规定n的值大于2,小于8),通过形参指针传回主函数;并计算该值的个位,十位,百位上数字之和作为函数值返回。
d=1;s=0; | d=d/10; |
8.出100至n(不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。
k=i; | c=k%10; |
9.计算并输出k以内最大的10个①能被13或17整除的自然数之和。k的值由主函数传入。
if((k%13==0)||(k%17==0)) | } |
10.求整数x的y次方的低3位值。
for(i=1;i<=y;i++) | t=t%1000; |
11.求k!(k<13),所求阶乘的值作为函数值返回。
if(k>0) | else if(k==0) |
12.计算整数n的阶乘。
result*=n--; | return result; |
13.计算n!。
if(n==0) | result*=n--; |
14.实现两个整数的交换。
void fun(int *a,int *b) | t=*b;*b=*a;*a=t; |
15.交换主函数中两个变量的值。
void fun(int *x,int *y) | t=*x;*x=*y;*y=t; |
16.通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。
t=*x; *x=y; | return(t); |
17.把主函数中输入的3个数,最大的放在a中,最小的放在c中。
float k; | if(*a<*c) |
18.读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
IsPrime(int n) | if(!(n%i)) |
19.将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。
aa[i]=m%k; | printf("%d",aa[i-1]); |
20.求s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间),表达式的值作为函数值传回main函数。
long s=0,t=0; | t=t/10; |
21.已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。
double fun(int n) | return sum; |
22.用递归算法计算斐波拉契级数数列中第n项的值。从第1项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,…。
switch(g) | case 1: case 2: return 1; |
23.求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给num1和num2分别输入49和21,则输出的最大公约数为7,若给num1和num2分别输入27和81,则输出的最大公约数为27。
t=b; b=a; a=t; | return(b); |
24.求三个数的最小公倍数。
fun(int x,int y,int z) | return j; |
25.从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。
for(i=1;i<=3;i++) | if(k>=0&&k<=6) |
26.根据输入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成三角形函数返
回1,若不能构成三角形函数返回0。
int fun(int a,int b,int c) | else return 1; |
27.判断—个整数m是否是素数,若是返回1,否则返回0。在main函数中,若fun返回1则输出YES,若fun返回0则输出NO!。
k++; | if(m==k ) |
28.计算并输出high以内最大的10个素数之和。high由主函数传给fun函数。
while((high>=2)&&(n<10)) | yes=0;break; |
29.出一个大于给定整数m且紧随m的素数,并作为函数值返回。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论