A. 编程题,定义3个字符变量并分别赋给3个不同的大写字母,转换成小写字母后输出
大写字符和小写字符的asc码相差32,可以输入大写字符后,强制类型转换成int类型,再加32就是相应的小写字符,再强制转换成char输出就行。
第一行只有一个整数m(m<=10)表示测试数据组数。
接下来的m行,每行有一个字符串(长度不超过100)。
输出互换后的字符串,每组输出占一行。输入字符串,字符串可以求出字符串的长度以及在各个索引的值,Java也有专门的判断是不是大小写以及转换成大小写的方法。
(1)定义三个字符数组存储并输出扩展阅读:
字符变量在内存中占一个字节。
在内存中,是把字符对应的ASCII码值放到存储单元中。
字符型数据与整型数据之间可以通用。
每个字符变量被分配一个字节的的内存空间,因此只能存放一个字符。字符值是以ASCⅡ码的形式存放在变量的内存单元之中的。如x的十进制ASCⅡ是120,y的十进制ASCⅡ是121。
B. c++,编程实现:定义三个字符数组,把自己姓名每个字的拼音分别存放到这3个字符
#include<stdio.h>
#define N 20
int main(void)
{
char s1[N*3],s2[N],s3[N];
int i,len;
scanf("%s%s%s",s1,s2,s3);
printf("%s\t%s\t%s\n",s1,s2,s3);
for(len=0;s1[len];len++);
for(i=0;s2[i];i++)
s1[len++]=s2[i];
for(i=0;s3[i];i++)
s1[len++]=s3[i];
s1[len]='\0';
printf("s1: %s\n",s1);
printf("长度: %d\n",len);
for(i=0;s1[i];i++)
s1[i]-=s1[i]&32;
printf("s1: %s\n",s1);
for(i=0;s1[i];i++)
s1[i]+=32;
printf("s1: %s\n",s1);
return 0;
}
C. c语言问题 输入三个字符串,按由小到大的顺序输出
1、修改代码
char temp[100];
temp==q1;
q1==q2;
q2==temp;
==换成=,=才是赋值运算符。
2、换用其他方法
可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址,然后对指针数组进行排序。
(3)定义三个字符数组存储并输出扩展阅读:
C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值
C语言labs()函数:求整数的绝对值(针对long类型)
C语言isgraph()函数:判断一个字符是否是图形字符
C语言isdigit()函数:判断一个字符是否为数字
int abs(int i) 返回整型参数i的绝对值
double cabs(struct complex znum) 返回复数znum的绝对值
double fabs(double x) 返回双精度参数x的绝对值
D. 弱弱问一下,在java里面,如何实现把输入的3个字符串,分别放在3个数组里面,然后输出呢
用个for循环就好了,我帮你写个简单的例子吧
这是我人为你应该能看懂的代码了 和c语言有些相通,你把字符串数组的赋值,定义什么的自己看看,再有就是需要输入,所以把java输入看看 类似scanner 最好是看各种输入流PS慢慢来 用不到 暂时不看也好。。。加油!
E. C语言输入3个字符串(长度都小于80),按由小到大顺序输出。
1 定义二维数组存储字符串。
2 通过strcmp比较大小,strcpy进行赋值,实现排序。
3 输出结果。
代码:
intmain()
{
chars[3][100],t[100];
inti,j;
for(i=0;i<3;i++)
scanf("%s",s[i]);
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
if(strcmp(s[i],s[j])>0)
{
strcpy(t,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],t);
}
for(i=0;i<3;i++)
puts(s[i]);
}
F. c语言,定义三个字符数组,元素个数均为21,要求用以下三种不同方式实现输入、输出功能
#include <stdio.h>
#include <string.h>
int main()
{ char str1[21],str2[21],str3[21];
int i = 0;
/*第一种方法输入输出*/
printf("Please input str1: ");
while((str1[i++] = getchar()) != EOF);
str1[i]='