fun函数实现从键盘中输入一个字符串,,要求字符串中的大写字母转化为小写字,小写字母转化为大写字母,
#include
char tolow(char c)
{if(c>='A'&&c<='Z')c+=32;
return c;
}
int main()
{char s[200];
int i;
gets(s);
for(i=0;s[i];i++)
s[i]=tolow(s[i]);
printf("%s
",s);
return 0;
}
.填空题
请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 40
void fun(char *str1,char *str2)
{
int i=0;
char *p1=str1;
char *p2=str2;
while()
i++;
for( ;;i++)
*(p1+i)=;
*(p1+i)='\0';
}
main()
{
char str1[N],str2[N];
clrscr();
printf("*****Input the string str1 &
str2*****
");
printf("
str1:");
gets(str1);
printf("
str2:");
gets(str2);
printf("**The string str1 & str2**
");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*****The new string *****
");
puts(str1);
}
答案及评析:
*(p1+i) *p2 *p2++
填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符‘\0'时,while循环结束,变量i停止累加。填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字符串结束标志符‘\0'。填空3:指针p2最初指向字符串str2的首字符,通过自加1,使指针p2依次向后移动,指向str2的各个字符,实现将字符串str2接在str1后面的功能。
1.填空题
请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,
10.0,16.0},结果为:avg=15.030000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
double fun(double x[10])
{
int i;
long t;
double avg=0.0;
double sum=0.0;
for(i=0;i<10;i++)
;
avg=sum/10;
avg=;
t=;
avg=(double)t/100;
return avg;
}
main()
{
double avg,x[10]={15.6,19.9,16.7,15.2,
18.3,12.1,15.5,11.0,10.0,16.0};
int i;
clrscr();
printf("
The original data is :
");
for(i=0;i<10;i++)
printf("%6.1f",x[i]);
printf("
");
avg=fun(x);
printf("average=%f
",avg);
}
答案及评析:
sum+=x[i] avg*1000 (avg+5)/10
填空1:通过for循环求出10个数的累加和,存于变量sum中。填空2:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。填空3:将平均值加上5,再除以10,实现四舍五入的功能。
1.填空题
请补充函数fun(),该函数的功能是:从‘a’到‘z’统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf中。注意:不区分大小写,不能使用字符串库函数。
例如,输入:“A=abc+5*c”,结果为:a=2,b=1,c=2。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 100
void fun(char *tt,int alf[])
{
int i;
char *p=tt;
for(i=0;i<26;i++)
;
while(*p)
{
if(*p>='A'&&*p<='Z')
;
if(*p>='a'&&*p<='z')
alf[*p-'a']++;
;
}
}
main()
{
char str[N];
char a='a';
int alf[26],k;
clrscr();
printf("
Please enter a char string:");
scanf("%s",str);
printf("
**The original string**
");
puts(str);
fun(str,alf);
printf("
**The number of letter**
");
for(k=0;k<26;k++)
{
if(k%5==0)
printf("
");
printf("%c=%d ",a+k,alf[k]);
}
printf("
");
}
答案及评析:
alf[i]=0 *p+=32 p++
填空1:数组alf[26]用来存放字母字符出现的次数,在使用之前需要清零。填空2:题目要求不区分大小写,所以可以先将所有的大写字母都转换为对应的小写字母,然后一并记录出现的次数。将大写字母转换为对应的小写字母,只需将ASCII码加上32就可以了。填空3:指针p指向字符串tt,通过p自加1来移动指针,访问字符串中的所有字符。
1.填空题
请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。
例如,输入aeiouAOUpqrt,结果为A:2 E:1 I:1 O:2 U:2 other:4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 100
void fun(char *str,int bb[])
{
char *p=str;
int i=0;
for(i=0;i<6;i++)
;
while(*p)
{
switch(*p)
{
case 'A':
case 'a':bb[0]++;break;
case 'E':
case 'e':bb[1]++;break;
case 'I':
case 'i':bb[2]++;break;
case 'O':
case 'o':bb[3]++;break;
case 'U':
case 'u':bb[4]++;break;
default:;
}
}
}
main()
{
char str[N],ss[6]="AEIOU";
int i;
int bb[6];
clrscr();
printf("Input a string:
");
gets(str);
printf("the string is:
");
puts(str);
fun(str,bb);
for(i=0;i<5;i++)
printf("
%c:%d",ss[i],bb[i]);
printf("
other:%d",bb[i]);
}
答案及评析:
bb[i]=0 bb[5]++ p++;
填空1:数组bb[6] 用来存放5个元音字母和其他字符的个数,在使用之前需要清零。
填空2:数组元素bb[5] 用来存放其他字符的个数,当指针p所指的字符不是元音字母时,则认为是其他字符,bb[5]加1。填空3:指针p指向字符串str,通过p自加1来移动指针,访问字符串中的所有字符。
1.填空题
str是全部由小写字母字符和空格字符组成的字符串,由num传入字符串的长度。请补充函数fun(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。
例如:str=“how do you do”,结果为:num=4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 80
void fun(char *s,int *num)
{
int i,n=0;
for(i=0;;i++)
{
if(s[i]>=’a’&&s[i]<=’z’&&(s[i+1]==
’ ’||s[i+1]==’\0’))
;
}
;
}
main()
{
char str[N];
int num=0;
printf("Enter a string:
");
gets(str);
while(str[num])
num++;
fun(str,&num);
printf("The number of word is :
%d
",num);
}
答案及评析:i<*num n++ *num=n
填空1:*num传入字符串的长度,所以for循环中变量i的变化范围是从0到*num-1。填空2:如果当前判断的字符是小写字母,并且它的下一个字符是空格或者是字符串结束标记符,则表示当前字符是一个单词的最后一个字母,统计单词数的变量n要加上1。填空3:题目要求结果由变量num传回,所以要将n的值赋给指针num所指的单元。
1.填空题
str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数fun(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如:str=“Bcd123e456hui890”,结果为:123456890。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 80
int bb[N];
int fun(char s[],int bb[],int num)
{
int i,n=0;
for(i=0;i<num;i++)
{
if()
{
bb[n]=;
n++;
}
}
return ;
}
main()
{
char str[N];
int num=0,n,i;
printf("Enter a string:
");
gets(str);
while(str[num])
num++;
n=fun(str,bb,num);
printf("
bb= ");
for(i=0;i<n;i++)
printf("%d",bb[i]);}
答案及评析:s[i]>= ′0′ &&s[i]<= ′9′ s[i]- ′0′ n
填空1:如果当前字符的ASCII码大于字符′0′的ASCII码,而小于字符′9′的ASCII码,则说明当前字符是数字字符。填空2:将数字字符转换为数字的方法是,用当前数字字符的ASCII码减去字符′0′的ASCII码。填空3:题目要求函数返回数组bb的长度,而变量n记录了数字字符的个数,也就是数组bb的长度,所以函数应该返回n。
1.填空题
从键盘输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。
例如:当xx[8]=时,
bb[4]=。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define N 1000
int fun(int xx[],int bb[],int num)
{
int i, n=0;
int g, s;
for(i=0;i
{
g=;
s=xx[i]/10 ;
if((g+s)>5)
;
}
return;
}
main()
{int xx[N];
int yy[N];
int num=0,n=0,i=0;
printf("Input number :
");
do
{
scanf("%u",&xx[num]);
}
while(xx[num++]!=0);
n=fun(xx,yy,num);
printf("
yy=");
for(i=0;i
printf("%u ",yy[i]);
}答案及评析:xx[i] bb[n++]=xx[i] n
填空1:将一个整数对10取余,则得到这个整数的个位数,将一个整数除以10再对10取余,则得到这个整数的十位数。由程序可以看出,变量s保存了整数的十位数,所以应该将整数的个位数保存于变量g中。填空2:当整数的个位与十位的数字之和大于5时,则将这个整数存于数组bb中,同时,变量n记录了满足条件的无符号整数的个数。填空3:题目要求满足条件的无符号整数的个数由fun函数返回,所以函数返回n。
1.填空题
请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include <conio.h>
char *fun(int n)
{
int g,s,b;
g=n%10;
s=n/10%10;
b=;
if((g+b)==s)
return;
else
return;
}
main()
{
int num=0;
clrscr();
printf("******Input data *******
");
scanf("%d",&num);
printf("
");
printf("****** The result *******
");
printf("
%s",fun(num));
}
答案及评析:n/100%10 〃yes!〃 〃no!〃
填空1:由程序可以知道,变量g保存了整数的个位数,变量s保存了整数的十位数,所以变量b应该保存整数的百位数。将整数除以100再对10取余,则得到这个整数的百位数。填空2:当个位数字和百位数字之和等于十位数字时,则返回〃yes!〃。填空3:当个位数字和百位数字之和不等于十位数字时,则返回〃no!〃。
1.填空题
请补充main函数,该函数的功能是:从一个字符串中截取前面若干个给定长度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。
例如:当str1=“cdefghij”,然后输入4,则str2=“cdef”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include<conio.h>
#define LEN 80
main()
{
char str1[LEN],str2[LEN];
int n,i;
clrscr();
printf("Enter the string:
");
gets(str1);
printf("Enter the position of the string
deleted:");
scanf();
for(i=0;i<n;i++)
str2[i]=’\0’;
printf("The new string is:%s
",);
}
答案及评析:〃%d〃,&n str2[i]=str1[i]; str2
填空1:本题考查对标准输入函数scanf()的调用格式,由后面的程序可以知道,变量n保存了要截取的字符数,注意在n前面不要忘了取址符‘ &’。填空2:截取前n个字符,就是将字符串str1的前n个字符依次赋给字符串str2的前n个字符。填空3:本题考查对标准输出函数printf()的调用格式,根据题意,应输出截取后的字符串,即字符串str2。
1.填空题
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define LEN 80
main()
{
char str1[LEN],str2[LEN];
char *p1=str1,*p2=str2;
int i=0,j=0;
clrscr();
printf("Enter the string:
");
scanf();
printf("***the origial string***
");
while(*(p1+j))
{
printf("",*(p1+j));
j++;
}
for(i=0;i<j;i+=2)
*p2++=*(str1+i);
*p2=’\0’;
printf("
The new string is:%s
",);
}
答案及评析:〃%s〃,str1 %c str2
填空1:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为〃%s〃,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。填空2:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为〃%c〃。填空3:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以printf()函数的输出表列是str2
按要求代码:
#include <stdio.h>
int main()
{
char str[100];
void fun(char *str);
scanf("%s",str);
fun(str);
printf("%s",str);
return 0;
}
void fun(char *str)//大小写字母互换
{
while(*str!=0)
{
if(*str>=65 && *str<=90)
*str+=32;
else if(*str>=97 && *str<=122)
*str-=32;
str++;
}
}
#include <stdio.h>
char tolow(char c)
{if(c>='A'&&c<='Z')c+=32;
return c;
}
int main()
{char s[200];
int i;
gets(s);
for(i=0;s[i];i++)
s[i]=tolow(s[i]);
printf("%s
",s);
return 0;
}
C语音如何调用un函数?
第三个是 fun(n+k,d,(a,b) ),这是函数调用,结果是1个值。答案选 A) 3
C语言 %c %d %s %ld %u 都怎么用法
5、%u 用来输出十进制无符号整数,用法举例:printf("unint=%u,byte=%d\\n",unint,sizeof(unsigned int));
...并且还可以通过另外的按键实现加1和减1,怎么弄啊?
1,显示子函数写好,并可以正常显示(静态显示正常)2,定义一个全局变量作为你要显示的数 3,写一个按键子函数,来改变你定义的数 4,按键处理好后 加上显示函数(不然会有闪烁或显示不清晰)程序模版如下:display(unsingned char x);\/\/显示函数代参数 unsingnde char NUM; \/\/定义全局变量 key_...
1-1\/16-12un-2b螺纹怎么编程
- 根据运算顺序,首先计算1-1\/16。 - 再减去12。 - 最后加上un。 - 最后加上2b。 - 考虑到计算顺序,可以使用括号来明确运算顺序,例如:(1 - 1\/16 - 12) + un + 2 * b。3. 编写程序代码: - 具体代码实现会根据使用的编程语言而有所不同。 - 以Python语言为例...
利用函数cnuntif,max,if,min,sum做个工作表格步骤?
利用函数COUNTIF、MAX、IF、MIN、SUM做工作表的步骤。这些函数做工作表的步骤是对应工作表的实际需求而做的,没有一个固定的步骤。COUNTIF条件求个数函数:第一个参数:条件区域,被判断的单元格区域(数据组);第二个参数:条件,求满足该条件的。MAX最大值函数,就是一个参数:数据组。IF判断函数:第一...
un(x)是[a,b]上的单调函数 什么意思
就是在区间[a,b]上单调递增或递减,与坐标轴最多只有一个交点
unsample函数有上采样倍数要求不
无特定倍数要求。unsample函数在PyTorch中并没有特定的上采样倍数要求。上采样倍数的选择通常是根据具体任务和数据集来确定的。在使用unsample函数时,可以根据输入图像和目标图像之间的分辨率差异以及期望的输出分辨率来选择合适的上采样倍数。较大的上采样倍数可以实现更高的分辨率恢复,但也会导致信息丢失或...
EXCEL 自动填充 函数公式求横纵相除再求和,请高手帮忙...
=sumproduct(U1:Un*1\/power(D11:D1n,2))Un 要换成单元格的 比如 A1:A100 B1:B100 =sumproduct(A1:A100*1\/power(B1:B100,2))excel里不叫矩阵 叫数组 === 不对称 的就变成对称的 , 就是说 后面 全部弄成 1
Un法总结
find和contains用于查找特定元素,countBy则统计不同操作结果的数量,shuffle用于打乱集合顺序,而size则返回集合元素数量。在对象操作方面,toArray将对象转换为数组,pluck则提取对象中特定属性值。函数相关的方法包括bind绑定函数上下文,bindAll绑定对象所有方法,partial绑定部分参数,memoize缓存函数结果,以及...
(u1·u2···un)`=∑ i=1→n u1···u(i-1)·ui·u(i+1)···un...
执行不上,因为在matlab阵列1 U = I = 1:M U = KRON(U,I);结束;KRON的作用是更大的矩阵,你应该得到一个大矩阵,而不是在中间的结果可以写
直店盐酸: 按要求代码:#include <stdio.h> int main() { char str[100]; void fun(char *str); scanf("%s",str); fun(str); printf("%s",str); return 0; } void fun(char *str)//大小写字母互换 { while(*str!=0) { if(*str>=65 && *str<=90)*str+=32; else if(*str>=97 && *str<=122)*str-=32; str++; } }
铜仁市13721908125: 编写函数fun,其功能是:自键盘输入字符串s,将该字符串的正序与反序进行链接,并将连接后的新字符串 - ?
直店盐酸: #include <stdio.h> char *fun(char *p){ char *q=p,*t; while(*q) q++; for(t=q-1;t>=p;*q++=*t--); *q='\0'; return p; } int main(void){ char str[100]; printf("Input a string...\nstr="); scanf("%50s",str); fun(str); printf("\n%s\n",str); return 0; }
铜仁市13721908125: 用函数fun实现此功能 - ?
直店盐酸: #include<stdio.h>#include <malloc.h>#include <string.h> char* fun(char* str) { int l=strlen(str); int f=0; char* ps=(char*)malloc(l+1); char* ps1,*ps2; ps1=str; ps2=ps; while(*str) { if(*str==' ') { str++; f=1; continue; } if(f==1) { f=0; if('z'>=*str&&*str>='a') {*str...
铜仁市13721908125: 编写函数fun,其功能是:将自键盘输入的字符串p中的所有字符复制到字符串b中,要求每复制三个字符之 - ?
直店盐酸: #include<stdio.h> int main() { char a[10],b[20]; scanf("%s",a); int i,j=0; for(i=0;a[i]!='\0';i++) { j++; if(j%3==0) b[i]=' '; else b[i]=a[i]; } printf("%s",b); }
铜仁市13721908125: C语言 编写函数fun,通过指针实现将一个字符串反向.要求主函数输入字符串,通过调用函数fun实现输入字符 - ?
直店盐酸: 编写函数fun,通过指针实现将一个字符串反向.要求主函数输入字符串,通过调用函数fun实现输入字符串反向
铜仁市13721908125: 编写一个FUN 函数??
直店盐酸: #include <stdlib.h> #include <stdio.h> #include <string.h> int fun(char bin[]) { int i=0, result=0; while (bin[i]!=NULL ) { if(bin[i]=='1'||bin[i]=='0') result=result*2+(bin[i]-'0'); else {printf("输入2进制错误"); break; } i++; } return result; } void main() { char bin[33]; scanf("%s",bin); printf("%d\n", fun(bin)); }
铜仁市13721908125: 请补充函数fun(),该函数的功能是;删除字符数组中小于等于指定字符的...?
直店盐酸: 主要函数 int jiecheng(int n) { int s=1; while(n>1) {s*=n;n--;} } 然后就是主函数输入n,一个for语句调用该函数,把每次的返回值加和,当然也可以另外写一个函数来实现,这样主函数就更显简单明了
铜仁市13721908125: 编写函数fun,其功能是统计某个字符在一个字符串中出现的次数.主函数自行设计?
直店盐酸: number=fun(a,10,'i'); 这儿最后一个参数传入的是字符'i'而不是main函数中定义的char型的i变量,应该用number=fun(a,10,i); 类似的在fun函数中的if语句中也不能 if(arr[p]='n')用'n'否则就是在与字符'n'比较,而不是参数中的n变量,应该用 if(arr[p]=n). 按现有代码只是在输入的字符串中查找字符'n'的个数而已. 此外字符数组的大小小了些哈,10个字符随便就满了,可以声明的大些,比如32,或者64或者128.
铜仁市13721908125: 编写函数fun求1!+2!+3!+…+n!的和,在main函数中由键盘输入n的值,并输出运算结果. 若n为5,则结果为153 - ?
直店盐酸: #include "math.h" void main() { int i; int n; int sum;int j; for(i=1;i<=n;i++) { for(j=1;j<=i;j++)sum+=j; }}printf("%d的结果是:"n,sum);