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]='