習(xí)題合集三
#import <Foundation/Foundation.h>
//1用函數(shù)實(shí)現(xiàn) : 隨機(jī)產(chǎn)生20個(gè)[10 , 100]的正整數(shù),輸出這些數(shù)以及他們中的最大數(shù)
void RadomMax(int arraya[],int count){
int max = 0;
for (int i = 0; i < 20; i++) {
arraya[i]=arc4random()%(100-10-1)+10;
printf("%d\n",arraya[i]);
if (arraya[i]>10) {
max = max > arraya[i] ? max : arraya[i];
}
}
printf("最大值為:%d\n",max);
}
//用函數(shù)實(shí)現(xiàn) : 輸入一個(gè)整數(shù),判斷奇偶挽放,并返回判斷結(jié)果(BOOL)
int ParityNum(int a){
// printf("請(qǐng)輸入一個(gè)數(shù)%d",&a);
// scanf("%d",&a);
BOOL b = a%2==0;
if (b == 0) {
printf("%d是奇數(shù)",a);
}else{
printf("%d是偶數(shù)",a);
}
return b;
}
//3計(jì)算double類型的一維數(shù)組的平均值
//要求:
//1、編寫一函數(shù)乌询,計(jì)算n個(gè)元素的一維數(shù)組的平均值贮预。
//2毛仪、在main()函數(shù)中調(diào)用該函數(shù)做瞪。
//3对粪、用全局變量存儲(chǔ)平均值。
double average = 0;
void averageArrayNumber(int arr[],int count){
int sum = 0;
for (int i = 0; i < count; i++) {
sum = sum + arr[i];
printf("%d ",arr[i]);
}
average = sum/count;
printf("該數(shù)組的平均值為%f",average);
}
//4一維浮點(diǎn)型數(shù)組的冒泡排序函數(shù)
//題目重點(diǎn)
//函數(shù)的聲明語法
//冒泡排序算法
void BubbleArray(double arr[],int count){
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0 ; i < count; i++) {
printf("%f ",arr[i]);
}
}
//5“回文串”是一個(gè)正讀和反讀都一樣的字符串装蓬,比如“l(fā)evel”或者“noon”等等就是回文串著拭。請(qǐng)寫一個(gè)程序判斷讀入的字符串是否是“回文”。
void PalindromicNumber(char a[]){
unsigned long length = strlen(a);
int aa = 0;
for (int i = 0; i<length/2;i++ ) {
if (a[i] - a[length-i-1] == 0) {
aa = 0;
}else{
aa = 1;
break;
}
}
if (aa == 0) {
printf("是回文");
}else{
printf("不是回文");
}
}
//6編寫函數(shù)統(tǒng)計(jì)一個(gè)三位正整數(shù)各位數(shù)的和矛物。
void ThreeSum(int m){
//100位
int a = m/100;
//個(gè)位
int b = m%10;
int c = (a/10)%10;
int sum = a+b+c;
printf("%d的各位數(shù)和為:%d",m,sum);
}
//7.1(1)編寫實(shí)現(xiàn)strlen同功能的函數(shù)stringLength茫死。
void stringLength(char c[]){
int n = 0;
while (c[n] != '\0') {
n++;
}
printf("%d",n);
}
//7.2編寫實(shí)現(xiàn)strcpy同功能的函數(shù)stringCopy跪但。
void stringCopy(char m[],char n[]){
unsigned long alength = strlen(m);
unsigned long blength = strlen(n);
if (alength == blength) {
for (int i = 0; i < alength;i++ ) {
m[i]=n[i];
}
}
for (int j = 0; j < alength; j++) {
printf("%c ",m[j]);
}
}
//7.3編寫實(shí)現(xiàn)strcat同功能的函數(shù)stringCatch履羞。//注意 \0
void stringCatch(char a[],char b[]){
unsigned long alength = strlen(a);
unsigned long blength = strlen(b);
for (int i = 0 ; i < blength; i++) {
a[alength+i] = b[i];
}
for (int i = 0; i<(alength+blength); i++) {
printf("%c",a[i]);
}
}
//7.4編寫實(shí)現(xiàn)strcmp同功能的函數(shù)string Compare。
void stringCompar(char a[],char b[]){
unsigned long alength = strlen(a);
unsigned long blength = strlen(b);
int sum = 0;
for (int i = 0; (i < alength )&&(i<blength); i++) {
if (a[i]==b[i]) {
sum =0;
}else{
sum = a[i]-b[i];
}
}
printf("%d",sum);
}
//8編寫一個(gè)函數(shù):將一個(gè)字符串中相同的元素刪除,并在main()中調(diào)用,并輸出
void DeleSameNum(char a[]){
unsigned long length = strlen(a);
int k = 0;
for (int i = 0; i < length; i++) {
for(int j = i+1;j<length;j++){
if (a[i] == a[j]) {
for ( k = j; k < length; k++) {
a[k]=a[k + 1];
}
length --;
a[k] = '\0';
j--;
}
}
}
length = strlen(a);
printf("%lu",length);
for (int i = 0; i<length; i++) {
printf("%c",a[i]);
}
}
int main(int argc, const char * argv[]) {
// int a[20]={};
//RadomMax(a, 20);
// int n ;
// printf("請(qǐng)輸入一個(gè)數(shù):");
// scanf("%d",&n);
// ParityNum(n);
//int as[3]={1,2,9};
//averageArrayNumber(as,3);
// double ad[] = {12.0,45.0,2.0,36.0,5.0};
// BubbleArray(ad, 5);
//ThreeSum(124);
// char parNum[]= "ajiea";
// PalindromicNumber(parNum);
// char s[] = "asdfs";
// stringLength(s);
char am[] = "sdadsf";
// char bm[] = "sdp";
//stringCopy(am, bm);
//stringCatch(am,bm);
// stringCompar(am, bm);
DeleSameNum(am);
return 0;
}