魔兽世界吧 关注:13,843,336贴子:459,700,769
  • 3回复贴,共1

在考试,求帮忙VC

只看楼主收藏回复


1. 请写出以下程序的运行结果
a)
#include <stdio.h>
int main(void)
{
int num1, denom1, num2, denom2, result_num, result_denom;
printf("Enter first fraction: ");
scanf("%d/%d", &num1, &denom1);
printf("Enter second fraction: ");
scanf("%d/%d", &num2, &denom2);
result_num = num1 * denom2 + num2 * denom1;
result_denom = denom1 * denom2;
printf("The sum is %d/%d\n", result_num, result_denom);
return 0;
}
b)
#include <stdio.h>
double average(double a, double b)
{
return (a + b) / 2;
}
int main(void)
{
double x, y, z;
printf("Enter three numbers: ");
scanf("%lf%lf%lf", &x, &y, &z);
printf("Average of %g and %g: %g\n", x, y, average(x, y));
printf("Average of %g and %g: %g\n", y, z, average(y, z));
printf("Average of %g and %g: %g\n", x, z, average(x, z));
return 0;
}
c)
#include <stdio.h>
#define FREEZING_PT 32.0f
#define SCALE_FACTOR (5.0f / 9.0f)
int main(void)
{
float fahrenheit, celsius;
printf("Enter Fahrenheit temperature: ");
scanf("%f", &fahrenheit);
celsius = (fahrenheit - FREEZING_PT) * SCALE_FACTOR;
printf("Celsius equivalent: %.1f\n", celsius);
return 0;
}
d)
#include <stdio.h>
void print_count(int n)
{
printf("T minus %d and counting\n", n);
}
int main(void)
{
int i;
for (i = 10; i > 0; --i)
print_count(i);
return 0;
}
e)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct city_info {
char *city;
int miles;
};
int compare_cities(const void *key_ptr,
const void *element_ptr);
int main(void)
{
char city_name[81];
struct city_info *ptr;
const struct city_info mileage[] =
{{"Berlin", 3965}, {"Buenos Aires", 5297},
{"Cairo", 5602}, {"Calcutta", 7918},
{"Cape Town", 7764}, {"Caracas", 2132},
{"Chicago", 713}, {"Hong Kong", 8054},
{"Honolulu", 4964}, {"Istanbul", 4975},
{"Lisbon", 3364}, {"London", 3458},
{"Los Angeles", 2451}, {"Manila", 8498},
{"Mexico City", 2094}, {"Montreal", 320},
{"Moscow", 4665}, {"Paris", 3624},
{"Rio de Janeiro", 4817}, {"Rome", 4281},
{"San Francisco", 2571}, {"Shanghai", 7371},



1楼2012-06-14 09:19回复
    {"Stockholm", 3924}, {"Sydney", 9933},
    {"Tokyo", 6740}, {"Warsaw", 4344},
    {"Washington", 205}};
    printf("Enter city name: ");
    scanf("%80[^\n]", city_name);
    ptr = bsearch(city_name, mileage,
    sizeof(mileage) / sizeof(mileage[0]),
    sizeof(mileage[0]), compare_cities);
    if (ptr != NULL)
    printf("%s is %d miles from New York City.\n",
    city_name, ptr->miles);
    else
    printf("%s wasn't found.\n", city_name);
    return 0;
    }
    int compare_cities(const void *key_ptr,
    const void *element_ptr)
    {
    return strcmp((char *) key_ptr,
    ((struct city_info *) element_ptr)->city);
    }
    2. 请将以下程序中所空缺部分(蓝色部分)补全
    a)
    #include <stdio.h>
    int main(void)
    {
    int month, day, year;
    printf("Enter date (mm/dd/yy): ");
    scanf("%d /%d /%d", &month, &day, &year);
    printf("Dated this %d", day);
    switch ( 1 ) {
    case 1: case 21: case 31:
    printf("st"); break;
    case 2: case 22:
    printf("nd"); break;
    case 3: case 23:
    printf("rd"); break;
    default: printf("th"); break;
    }
    printf(" day of ");
    switch ( 2 ) {
    case 1: printf("January"); break;
    case 2: printf("February"); break;
    case 3: printf("March"); break;
    case 4: printf("April"); break;
    case 5: printf("May"); break;
    case 6: printf("June"); break;
    case 7: printf("July"); break;
    case 8: printf("August"); break;
    case 9: printf("September"); break;
    case 10: printf("October"); break;
    case 11: printf("November"); break;
    case 12: printf("December"); break;
    }
    printf(", 20%.2d.\n", year);
    return 0;
    }
    b)
    #include <stdio.h>
    int main(void)
    {
    char ch;
    int len = 0;
    printf("Enter a message: ");
    ch = getchar();
    while (ch != '\n') {
    3 ;
    ch = getchar();
    }
    printf("Your message was %d character(s) long.\n", len);
    return 0;
    }
    c)
    #include <stdio.h>
    int main(void)
    {
    int digits = 0, n;
    printf("Enter a nonnegative integer: ");
    scanf("%d", &n);
    do {
    n /= 10;
    


    2楼2012-06-14 09:19
    回复
      digits++;
      } while (n > 0);
      printf("The number has %d digit(s).\n", 4 );
      return 0;
      }
      d)
      #include <stdio.h>
      int main(void)
      {
      int len = 5 ;
      printf("Enter a message: ");
      while (getchar() != '\n')
      len++;
      printf("Your message was %d character(s) long.\n", 6 );
      return 0;
      }
      3. 请调试以下程序,修改其中的错误和缺陷,得到满足需要的程序
      a)
      /* 找出数组中最大和最小的元素 */
      #include <stdio.h>
      #define N 10
      void max_min(int a[], int n, int *max, int *min);
      int main(void)
      {
      int b[N], i, *big, small;
      printf("Enter %d numbers: ", N);
      for (i = 0; i < N; i++)
      scanf("%d", &b[i]);
      max_min(b, N, big, small);
      printf("Largest: %d\n", big);
      printf("Smallest: %d\n", small);
      return 0;
      }
      void max_min(int a[], int n, int *max, int *min)
      {
      int i;
      *max = *min = a[0];
      for (i = 1; i < n; i++) {
      if (a[i] > *max)
      *max = a[i];
      else if (a[i] < *min)
      *min = a[i];
      }
      }
      b)
      /* 判断一个数是否是质数 */
      #include <stdio.h>
      int is_prime(int n)
      {
      int divisor;
      if (n <= 1)
      return 0;
      for (divisor = 2; divisor * divisor <= n; divisor++)
      if (n % divisor == 0)
      return 0;
      return 0;
      }
      int main(void)
      {
      int n;
      printf("Enter a number: ");
      scanf("%d", &n);
      if (is_prime(n) == 1)
      printf("Prime\n");
      else
      printf("Not prime\n");
      return 0;
      }
      4. 请按要求编写程序(选做其中一题)
      a) 请编写程序,从键盘读入10个整数,然后按输入的顺序,逆序输出。例如:
      b) 累加字符串a中各个字符的ASCII码值,然后判断累加和是否是质数。
      #include <stdio.h>
      void main()
      {
      char a[]="r235%^%34cdDW,.";
      /*需要你来写*/
      }


      3楼2012-06-14 09:19
      回复
        这么长都写出来了 你不知道运行结果?


        4楼2012-06-14 11:35
        回复